设置QDockWidget的初始大小

Posted imxiangzi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设置QDockWidget的初始大小相关的知识,希望对你有一定的参考价值。

一,问题:

QDockWidget不能使用resize方法来确定初始大小,如果用setMaximumSize和setFixedSize,的确可以设置初始大小,但也限制了QDockWidget的最大尺寸,不能用鼠标拖动来改变QDockWidget的大小。

二, 目的:

如何不通过setMaximumSize和setFixedSize设置QDockWidget的初始大小

三, 解决方案:

派生一个QWidget的新类,设置其sizeHint的返回值

 

Cpp代码  
  1. #include <QtGui>  
  2.   
  3. class MyWidget : public QWidget  
  4.   
  5. public:  
  6.     QSize sizeHint() const  
  7.       
  8.         return QSize(270, 900); /* 在这里定义dock的初始大小 */  
  9.       
  10. ;  
  11.   
  12. int main(int argc, char **argv)  
  13.   
  14.     QApplication app(argc, argv);  
  15.     QMainWindow box;  
  16.     QDockWidget *dock = new QDockWidget(&box);  
  17.     MyWidget *wi = new MyWidget;  
  18.     dock->setWidget(wi);  
  19.     box.addDockWidget(Qt::TopDockWidgetArea, dock );  
  20.     box.show();  
  21.     return app.exec();      
  22.   
 



FROM:  http://kenby.iteye.com/blog/423684

以上是关于设置QDockWidget的初始大小的主要内容,如果未能解决你的问题,请参考以下文章

如何实现窗口尺寸改变,swiper重新初始化尺寸

与 QMainWindow 的 GUI 命令交互时,QDockWidget 无法正确调整大小

如何在不影响 QDockWidget 的情况下更改 QMainWindow 分隔符的宽度

Qt - 即使 QMainWindow 太小也允许停靠

QDockWidget,从 UI Designer 设置嵌套状态

设置列表化QDockWidget选项卡的颜色