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