有没有办法为子窗口小部件(继承自QMdiSubWindow)定义初始大小?我不希望必须限制最小尺寸或防止调整大小,而只是在第一次以给定大小显示窗口。
我尝试重新实现sizeHint并定义不同大小的策略,但即使进行了这些更改,autoAjust调用似乎也会在首次显示时使窗口非常小(大小为200 x 200)。该窗口包含具有此层次结构的窗口小部件:QVBoxLayout - > QScrollArea - > QLabel。 QLabel用于显示尺寸为512 x 512的图像。
编辑:将课程改为QMdiSubWindow。
答案 0 :(得分:1)
你可以使用调整大小(int w,int h) 它不会设置最大和最小尺寸 它只会改变子窗口的初始大小 实际上,它真正做的是:它改变了当前的"子窗口的大小。但第一个当前大小是"初始"尺寸。所以基本上是一样的。
答案 1 :(得分:0)
据我所知,Qt中没有QSubWindow这样的东西。
但是,在QWidget上调用setGeometry会设置其大小。
答案 2 :(得分:-1)
经过多次寻找答案和实验,我发现这对我有用。
child->parentWidget()->resize(900, 700);
child->parentWidget()->updateGeometry();
child->show();
// child->showMaximized();
您可以使用showMaximized()
代替show()
,如果该窗口稍后更改为(900, 700)
,则仍会使用normal
。