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

最佳答案

默认情况下,如果QWidget是顶级窗口,则您可以调整其大小,因为minimumSizemaximumSize不同,因为它们表示调整大小的范围。

如果要让用户仅将垂直调整为大小,则只需将minimumWidthmaximumWidth设置为相同的值(可能设置为QWidget的当前宽度)。 Qt将负责指示基础Windows管理器的其余部分。

您可以在设计器中执行此操作,也可以使用 setMinimumWidth setMaximumWidth 方法以编程方式执行此操作。编辑:如注释中所述,有一个 setFixedWidth 方法可以简化此操作(并使其在代码中更明确)。

当然,您可以使用诸如设置最小宽度(或高度,或两者都-minimum size-)之类的组合来避免顶层窗口崩溃并变得不可用,并设置最大大小。一种常见设置是制作minimumSize = maximumSize,使窗口固定大小(可以使用便捷方法 setFixedSize )。

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

09-10 04:38
查看更多