C++ qmbwindow的初始大小

C++ qmbwindow的初始大小,c++,qt,user-interface,size,mdichild,C++,Qt,User Interface,Size,Mdichild,是否有方法定义子窗口小部件的初始大小(从QMBwindow继承)?我不想对最小大小进行必要的限制,也不想阻止它调整大小,只想在第一次显示具有给定大小的窗口 我曾尝试重新实现sizeHint并定义不同的大小策略,但即使进行了这些更改,autoAjust调用在第一次显示窗口时似乎也会使窗口非常小(大小为200 x 200)。该窗口包含一个具有以下层次结构的小部件:QVBoxLayout->qscrolrea->QLabel。QLabel用于显示大小为512 x 512的图像 编辑:将类更正为qmdu

是否有方法定义子窗口小部件的初始大小(从QMBwindow继承)?我不想对最小大小进行必要的限制,也不想阻止它调整大小,只想在第一次显示具有给定大小的窗口

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


编辑:将类更正为qmdusubwindow。

据我所知,Qt中没有QSubWindow


然而,在QWidget上调用setGeometry将设置其大小。

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

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

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

您可以使用调整大小(intw,inth)
它不会设置最大和最小大小。
它只会更改子窗口的初始大小。

实际上,它真正做的是:它改变子窗口的“当前”大小。但第一个当前大小是“初始”大小。所以基本上都是一样的。

经过大量的搜索和实验,我发现这对我来说是可行的

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

您可以使用
showMaximized()
代替
show()
,如果以后将窗口更改为
normal
,,则仍将使用
(900700)
,经过大量搜索和实验,我发现这对我来说是可行的

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

您可以使用
showMaximized()
代替
show()
,如果以后将窗口更改为
normal
,则仍将使用
(900700)
我也尝试过设置几何体,但mdi子项不符合给定的大小(仅限于位置)。@LuizVieira,你能用鼠标调整同一个mdi窗口的大小吗?是的,可以用鼠标调整窗口的大小、最大化、最小化和还原。如果你用你想要的大小设置FixedSize,它是否如预期的那样出现?如果是这样,您可以调用setFixedSize,显示窗口,然后设置最大大小以允许调整窗口的大小。嗯,这样做效果更好,tks!但现在它将大小限制为setFixedSize调用中使用的大小(其思想不是限制任何意义上的大小调整,即增大或缩小,只是提供初始建议大小)。我还使用setMinimumSize测试了您的想法,但它不再有效(即显示的大小与setFixedSize中使用的大小不同)。对不起,我的意思是qmdusibwindow.)我也尝试过设置几何体,但mdi子项不符合给定的大小(仅限于位置)。@LuizVieira,你能用鼠标调整同一个mdi窗口的大小吗?是的,可以用鼠标调整窗口的大小、最大化、最小化和还原。如果你用你想要的大小设置FixedSize,它是否如预期的那样出现?如果是这样,您可以调用setFixedSize,显示窗口,然后设置最大大小以允许调整窗口的大小。嗯,这样做效果更好,tks!但现在它将大小限制为setFixedSize调用中使用的大小(其思想不是限制任何意义上的大小调整,即增大或缩小,只是提供初始建议大小)。我还使用setMinimumSize测试了您的想法,但它不再有效(即显示的大小与setFixedSize中使用的大小不同)。这帮助我知道应该尝试什么,但看到了对我实际有效的更完整的答案。这帮助我知道应该尝试什么,但看到了对我实际有效的更完整的答案。