【发布时间】:2014-04-09 11:26:39
【问题描述】:
我正在 Qt Designer 中创建一个新的 QWidget,其中包含一个 QLabel 和一个 QTextEdit 的 frame。我可以设置所有这些元素的几何形状,并将它们设置为fixed,这样它们的高度/宽度就不会改变:
在此示例中,我的 QLabel 和 QLineEdit 位于其父框架的右上角。如果我现在为框架设置布局(我需要这样做以确保在调整窗口大小时元素保持在正确的位置,或者如果框架是QScrollArea 的主要小部件),那么元素将被移动,即使在框架的参考:
在这种情况下,窗体布局被应用到框架;我们可以看到QLabel 的 (X,Y) 坐标已从 (0,0) 变为 (10,10)。无论我是否事先将这两个元素包装在一个垂直框架中,都会发生这种情况。
鉴于我试图通过手动设置元素坐标来创建非常精确的布局,因此在应用布局时让它们移动看似随机的数量非常令人沮丧。我该怎么办?!我想我误解了什么,但我不知道是什么!
【问题讨论】:
-
我认为您的问题是由使用表单布局以及默认边距和间距问题引起的。无论如何,我已经用适用于您的示例的解决方案更新了我的答案。
标签: python layout pyqt qt-designer