基本上我QGridLayout有一些小部件.重要的是2个标签,我用它们将图像绘制到屏幕上.好吧,如果用户想要,他可以改变传入图像的分辨率,从而迫使标签调整大小.
我们假设标签的初始大小是320x240.用户将VideoMode更改为640x480,标签和整个GUI完美调整大小.但是当用户切换回时320x240,标签会缩小,但布局/窗口不会缩小.
我打得四处sizePolicies和sizeHints和resize(0,0),但没有做的伎俩.有人可以帮我这个吗?
这里有一些截图来澄清问题:

我有两个小部件,彼此相邻,WidgetA并且WidgetB在一个上QDialog,带有水平布局管理器。
我正在尝试强制执行以下大小/调整大小策略:
对于WidgetA:
为了WidgetB:
WidgetA。但无论我为 WidgetA 选择哪种大小策略,它仍然不会占用 900 的宽度。
以下是代码示例:
class WidgetA(QTextEdit):
def __init__(self, parent = None):
super(WidgetA, self).__init__(parent)
#self.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.MinimumExpanding) --> WidgetA width still smaller than 900
#self.setSizePolicy(QSizePolicy.Ignored, QSizePolicy.MinimumExpanding) --> WidgetA will be set to minimumSizeHint()
#self.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.MinimumExpanding) --> not good for me, since I want WidgetA to be able to shrink up to minimumSizeHint().width()
#self.setSizePolicy(QSizePolicy.Minimum, …Run Code Online (Sandbox Code Playgroud)