Qt 中的布局管理

Layout management in Qt

我有一个小程序,其中包含一个 QGroupBox 和其他像这样的小部件:

我尝试了很多方法来控制 QGroupBox 的大小,使高度与其他部分相同。除了使用 setMaximumHeight 的方式,因为我希望大小也随 window 大小动态变化。我还能做些什么来管理布局?

现在一个布局中有三个项目。布局将尝试填充可用 space。 QLineEditQSpinBox(或者你的第二个小部件是什么)有 SizePolicy.vertical == 固定,所以所有额外的 space 都转到 QGroupBox.

您有这些选择:

  • 将垂直 spacer 作为组框下方的第四项添加到您的布局中。
  • 设置您的分组框的最大高度 - 然后剩余的 space 将在项目之间均匀 spaced。
  • 调整 window/小部件/对话框的大小(在 Qt Designer 中或通过代码)。