相关疑难解决方法(0)

Qt布局,在窗口小部件大小更改后调整为最小值

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

我们假设标签的初始大小是320x240.用户将VideoMode更改为640x480,标签和整个GUI完美调整大小.但是当用户切换回时320x240,标签会缩小,但布局/窗口不会缩小.

我打得四处sizePoliciessizeHintsresize(0,0),但没有做的伎俩.有人可以帮我这个吗?

这里有一些截图来澄清问题:

在这里,一切都很好 仍然,640 x 480完美调整大小 但在这里,布局太大了.

layout qt qgridlayout qt5

22
推荐指数
2
解决办法
3万
查看次数

Pyqt:使用布局管理器在两个小部件应用程序上强制执行 sizeHint() 尺寸

我有两个小部件,彼此相邻,WidgetA并且WidgetB在一个上QDialog,带有水平布局管理器。
我正在尝试强制执行以下大小/调整大小策略:
对于WidgetA

  • 水平:宽度应为 900,并且能够收缩(最多 100)和扩展(任意)。
  • 垂直:高度应为 600,并且能够扩展(到任何位置)。

为了WidgetB

  • 水平:宽度应固定为 600。
  • 垂直:高度应为 600,能够扩展(到任何位置)- 与 相同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)

python layout pyqt qsizepolicy

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

layout ×2

pyqt ×1

python ×1

qgridlayout ×1

qsizepolicy ×1

qt ×1

qt5 ×1