我希望用户能够垂直调整Window的大小,但是我不确定如何做到这一点。我在Qt Creator中选择了我的根对象(View类型为QWidget
),但没有看到允许用户垂直调整对象大小的选项。是否必须通过代码来完成?
最佳答案
默认情况下,如果QWidget
是顶级窗口,则您可以调整其大小,因为minimumSize
和maximumSize
不同,因为它们表示调整大小的范围。
如果要让用户仅将垂直调整为大小,则只需将minimumWidth
和maximumWidth
设置为相同的值(可能设置为QWidget
的当前宽度)。 Qt将负责指示基础Windows管理器的其余部分。
您可以在设计器中执行此操作,也可以使用 setMinimumWidth
和 setMaximumWidth
方法以编程方式执行此操作。编辑:如注释中所述,有一个 setFixedWidth
方法可以简化此操作(并使其在代码中更明确)。
当然,您可以使用诸如设置最小宽度(或高度,或两者都-minimum size-)之类的组合来避免顶层窗口崩溃并变得不可用,并设置最大大小。一种常见设置是制作minimumSize = maximumSize
,使窗口固定大小(可以使用便捷方法 setFixedSize
)。
PS:请注意,这与sizePolicy
无关,它只是指示父布局,在放置小部件时可以采取哪些操作(关于大小)。由于顶级窗口没有父级布局,因此根本不使用此策略。