1

有没有办法为子窗口小部件(继承自 QMdiSubWindow)定义初始大小?我不想限制最小大小或阻止它被调整大小,而只是在第一次显示给定大小的窗口。

我尝试重新实现 sizeHint 并定义不同的大小策略,但即使进行了这些更改,autoAjust 调用似乎在首次显示时使窗口非常小(大小为 200 x 200)。该窗口包含具有此层次结构的小部件:QVBoxLayout -> QScrollArea -> QLabel。QLabel 用于显示尺寸为 512 x 512 的图像。

编辑:将类更正为 QMdiSubWindow。

4

3 回答 3

1

你可以使用resize(int w, int h)
它不会设置最大和最小尺寸。
它只会改变子窗口的初始大小。
实际上,它真正做的是:它改变了子窗口的“当前”大小。但是第一个当前大小是“初始”大小。所以基本上是一样的。

于 2015-03-26T06:00:11.013 回答
0

据我所知,Qt 中没有 QSubWindow 这样的东西。

但是,在 QWidget 上调用 setGeometry 将设置它的大小。

于 2013-10-25T14:03:05.973 回答
0

经过大量寻找答案和试验后,我发现这对我有用。

child->parentWidget()->resize(900, 700);
child->parentWidget()->updateGeometry();
child->show();
// child->showMaximized();

您可以使用showMaximized()代替 ,如果窗口稍后更改为show()(900, 700)仍将使用normal

于 2016-05-25T18:04:57.470 回答