1

我正在尝试设计一个表单,当窗口大小增加时,一些元素位于表单布局的底部,而其他元素则位于顶部。在顶部和底部元素之间使用 Vertical Spacer 几乎可以正常工作,但 Vertical Spacer 只能延伸到其 SizeHint 的 Height 值(参见下面的屏幕截图)。

简单地将 SizeHint 增大到一些大会产生不希望的副作用,即整个窗口的首选大小也会变得非常大,因此“调整大小 (Ctrl+J)”命令会使窗口大到无法接受。

如果我使用垂直布局而不是表单布局,则担架的行为与我预期的一样,在使用“调整大小”时无限增加并尊重 SizeHint,但当然我失去了表单布局的行为(对齐文本标签)。

我可以做些什么来使垂直间隔在表单布局中延伸超过它的 SizeHint?

最小尺寸

尺寸增加

4

1 回答 1

1

使用多种布局,而不仅仅是一种。

  1. 为您的窗口设置垂直布局。
  2. 添加水平布局,用 QLabel 和 QLineEdit 填充它。添加垂直垫片。
  3. 添加另一个水平布局,用 QLabel 和 QLineEdit 填充它。
  4. 添加水平布局,用 Vertical Spacer 和两个 QPushButtons 填充它。

如果我理解正确,你应该得到你想要的:)

另一种方法是使用QGridLayout

  1. 将 QLabels 设置为 0,0 和 1,0
  2. 将 QPushButtons 设置为 2,1 和 2,2
  3. 将 QLineEdits 设置为 0,1 和 1,1
  4. 拖动 QLineEdits,使它们从第 1 列跨越到第 2 列
  5. 和第 0 行和第 1 行之间的垂直间隔。
于 2013-01-21T17:29:27.983 回答