qt - Qt布局,在小部件尺寸更改后将尺寸调整为最小

标签 qt layout qt5 qgridlayout

基本上,我有一个带有一些小部件的QGridLayout。重要的是2个标签,我将它们用于将图像绘制到屏幕上。好吧,如果用户愿意,他可以更改传入图像的分辨率,从而强制调整标签的大小。

假设标签的初始大小为320x240。用户将VideoMode更改为640x480,标签和整个GUI的大小都会完美调整。但是,当用户切换回320x240时,标签会缩小,但是Layout / Window不会。

我玩过sizePoliciessizeHints,以及resize(0,0),但没有成功。有人可以帮我吗?

这里有一些屏幕截图可以说明问题:

最佳答案

您需要将容纳所有小部件的布局的大小约束设置为“SetFixedSize”。尽管该名称听起来并不可行,但可以确保布局仅使用所需的空间。您将不会像第二个屏幕截图那样出现问题。

例:

mainLayout.setSizeConstraint(QLayout::SetFixedSize);

关于qt - Qt布局,在小部件尺寸更改后将尺寸调整为最小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14980620/

相关文章:

c++ - QTreeView 策略子类。这是理智的吗?

android - coverflow 未显示在 Android 的 xml 布局上

HTML 拉伸(stretch)一个 div 到底部

c++ - 如何使用 QSettings 保存和加载数据?

c++ - [Qt][Linux] 列出驱动器或分区

python - 收集所有停靠的小部件及其位置

c++ - QDialog 中的 Phonon::VideoWidget 问题

user-interface - 使 SliverAppBar 将图像作为背景而不是颜色

c++ - 使用 Qt5 查找可执行文件

c++ - QMovie webp帧断断续续