找到一个控制QDockWidget的大小的好方法
这段时间使用QDockWindow一直被一个问题困扰着,就是不能使用resize,要想控制其大小,只能设置嵌入它里面的widget的固定大小,但设置之后,始终有个大小限制,不方便自由拖动大小。 有说使用重载sizeHint()来解决的,但有些地方好像不行。 问题见 http://www.qtcn.org/bbs/read.php?tid=20032。 今天跟同事讨论,同事说了个非常妙的方法。 在构造某个QWidget的继承类的时候设置一个最大值, 等到界面都显示了之后,再重新设置一个很大的最大值, 那么相当于大小就没有限制了。 简单如下: 复制代码//构造某个widget AccountWidget::AccountWidget(QWidget *parent) : QWidget(parent) { //......省略...... setMaximumSize(300, 200); } //等主界面显示之后,在重新设置最大值 void MainWindow::resetMaximumSize() { orderInsertWidget->setMaximumSize(16777215, 16777215); accountWidget->setMaximumSize(16777215, 16777215); } 学习中还是多讨论,人多想法多,别故步自封~