我正在使用Qlabels绘制一些图形和图像(通过setpixmap)。
我的基本布局是:
QVBoxlayout主要布局通过qdialog的setlayout。 QHboxlayout(QLabels数组) Qlabel expandedPlot(上述QLabels之一的可选扩展图) QLabel mainImage主图像显示
在QDialogs重新实现的按键事件处理程序中,我隐藏()/ show()展开的图。当我隐藏()expandPlot时,布局管理器恢复大约1/2的垂直使用。然后当我拖动窗口时,布局管理器恢复垂直空间的剩余部分(好像没有项目存在)。
如何强制移动窗口的行为?我希望布局管理器完全恢复垂直空间。
我在Windows上使用Qt 5.6,但想要跨平台解决方案。 谢谢,迈克
答案 0 :(得分:0)
因为布置小部件非常昂贵,所以Qt并不总是如此。如果更改随附小部件的大小,则可能需要在其上调用updateGeometry
以触发随附的布局管理器重新布局。但是如果隐藏窗口小部件,updateGeometry
什么都不做。在这种情况下,您需要在父窗口小部件上调用adjustSize
,然后触发重新布局。