基本上,我有一个带有一些小部件的QGridLayout
。重要的是2个标签,我将它们用于将图像绘制到屏幕上。好吧,如果用户愿意,他可以更改传入图像的分辨率,从而强制调整标签的大小。
假设标签的初始大小为320x240
。用户将VideoMode更改为640x480
,标签和整个GUI的大小都会完美调整。但是,当用户切换回320x240
时,标签会缩小,但是Layout / Window不会。
我玩过sizePolicies
和sizeHints
,以及resize(0,0)
,但没有成功。有人可以帮我吗?
这里有一些屏幕截图可以说明问题:
最佳答案
您需要将容纳所有小部件的布局的大小约束设置为“SetFixedSize”。尽管该名称听起来并不可行,但可以确保布局仅使用所需的空间。您将不会像第二个屏幕截图那样出现问题。
例:
mainLayout.setSizeConstraint(QLayout::SetFixedSize);
关于qt - Qt布局,在小部件尺寸更改后将尺寸调整为最小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14980620/