如何让用户垂直调整大小 window

How to let user vertically resize window

我希望用户能够垂直调整 Window 的大小,但我不确定该怎么做。我在 Qt Creator 中选择了我的根对象(QWidget 类型的视图),但我没有看到允许用户垂直调整对象大小的选项。这是否必须通过代码完成?

默认情况下,如果 QWidget 是顶级 window,您可以调整它的大小,因为 minimumSizemaximumSize 不同,因为它们表明缩放范围。

如果您想让用户垂直调整大小,那么您只需将minimumWidthmaximumWidth设置为相同的值(可能到您 QWidget 的当前宽度)。 Qt 将负责指示底层 windows 管理器其余部分。

您可以在 Designer 中执行此操作,也可以使用简化此操作的 setMinimumWidth and setMaximumWidth methods. Edit: As mentioned in a comment, there is a setFixedWidth 方法以编程方式执行此操作(并使其在您的代码中更加明确)。

当然,您可以尝试组合,例如设置最小宽度(或高度,或两者 - 最小尺寸 -)以避免顶级 window 崩溃并变得不可用,设置最大尺寸... 一个常见的设置是 minimumSize = maximumSize,因此您将 window 设为固定尺寸(您可以使用便捷方法 setFixedSize)。

PS:看到这与 sizePolicy 无关,它只是指示父布局在放置小部件时可以采取哪些操作 - 关于大小 - 。由于顶级 window 没有父布局,因此根本不使用此策略。