• 6023阅读
  • 0回复

找到一个控制QDockWidget的大小的好方法 [复制链接]

上一主题 下一主题
离线wxyao
 

只看楼主 倒序阅读 楼主  发表于: 2010-10-08
— 本帖被 XChinux 执行加亮操作(2010-10-21) —


        这段时间使用QDockWindow一直被一个问题困扰着,就是不能使用resize,要想控制其大小,只能设置嵌入它里面的widget的固定大小,但设置之后,始终有个大小限制,不方便自由拖动大小。
        有说使用重载sizeHint()来解决的,但有些地方好像不行。 

        问题见 http://www.qtcn.org/bbs/read.php?tid=20032


今天跟同事讨论,同事说了个非常妙的方法。

在构造某个QWidget的继承类的时候设置一个最大值,
等到界面都显示了之后,再重新设置一个很大的最大值,
那么相当于大小就没有限制了。

简单如下:
  1. //构造某个widget
  2. AccountWidget::AccountWidget(QWidget *parent)
  3.  : QWidget(parent)
  4. {
  5.     //......省略......
  6.     setMaximumSize(300, 200);
  7. }
  8.  
  9. //等主界面显示之后,在重新设置最大值
  10. void MainWindow::resetMaximumSize()
  11. {
  12.     orderInsertWidget->setMaximumSize(16777215, 16777215);
  13.     accountWidget->setMaximumSize(16777215, 16777215);
  14. }


学习中还是多讨论,人多想法多,别故步自封~

快速回复
限100 字节
 
上一个 下一个