使用Qt设计器自动扩展布局

使用Qt设计器自动扩展布局,qt,layout,qt-designer,Qt,Layout,Qt Designer,我正在使用Qt设计器 我想创建一个QVBoxLayout,它将自动展开以填充整个窗口 QVBoxLayout的布局保持不变 如何使QVBoxLayout通过设计器扩展并填充整个窗口?一旦您添加了至少包含一个小部件的布局,请选择您的窗口并单击QtDesigner的“更新”按钮。界面将以最优化的大小调整大小,您的布局将适合整个窗口。然后,在调整窗口大小时,布局将以相同的方式调整大小。在Qt Designer中创建QVBoxLayout后,右键单击小部件/对话框/窗口的背景(不是QVBoxLayout

我正在使用Qt设计器

我想创建一个
QVBoxLayout
,它将自动展开以填充整个窗口

QVBoxLayout
的布局保持不变


如何使
QVBoxLayout
通过设计器扩展并填充整个窗口?

一旦您添加了至少包含一个小部件的布局,请选择您的窗口并单击QtDesigner的“更新”按钮。界面将以最优化的大小调整大小,您的布局将适合整个窗口。然后,在调整窗口大小时,布局将以相同的方式调整大小。

在Qt Designer中创建
QVBoxLayout
后,右键单击小部件/对话框/窗口的背景(不是
QVBoxLayout
,而是父小部件),然后从关联菜单底部选择layout->layout in a Grid in a。
QVBoxLayout
现在应该拉伸以适应窗口,并在整个窗口调整大小时自动调整大小。

我试图找到“适合屏幕”属性,但没有这样的属性


但将小部件的“最大大小”设置为“某个大数字”(如2000 x 2000)将自动使小部件适合父小部件空间。

将控件/小部件的水平策略和垂直策略设置为“首选”

根据,需要设置顶级布局集

顶层布局是必要的,以确保小部件在调整窗口大小时能够正确调整大小。要检查是否设置了顶层布局,请预览小部件并尝试通过拖动“大小”夹点来调整窗口大小

您可以通过清除选择并右键单击表单本身并选择上下文菜单中可用的布局之一来设置


注意,当用户调整整个窗口的大小时,垂直布局(及其内容)将拉伸以适应它。我不关心它在Qt设计器中的外观。谢谢,我一直在寻找解决此问题的方法。实际上,您根本不需要创建网格布局。不要自己创建QVBoxLayout,而是取消选择所有项目并单击小部件的背景。然后选择“布局->垂直布局”。@Michal Kottman:这只在设计时有效。当用户在运行时调整窗口大小时,它不会改变布局。网格和垂直布局在设计和运行时都适用于我。我希望添加一点细节:如果您希望向QTabWidget页面添加自拉伸布局,实际上您不能右击页面背景,正如您选择QTabWidget而不是相关选项卡一样。您必须右键单击选项卡标签,如designer窗口中所示,然后选择Layout->Layout in a Grid在带有视网膜显示器(2880x1800)的MacBook Pro上使用此技术会发生什么情况?只需将其设置为可接受的最大值(设计师向我显示的是16777215)它应该适用于任何显示器尺寸。如果您只想在Qt Designer中使用布局,请参考以下提示: