我很感激建议如何创建一个由四个布局组成的Qt UI并具有以下属性。
UI高度的任何增加都会被布局吸收,如下所示
UI的高度的任何进一步降低被特定布局的内容吸收,例如,两个大按钮如下图所示
答案 0 :(得分:6)
1#基于QWidget创建新的UI表单:文件 - >新文件或项目 - > Qt - > Qt Designer表单类 - >选择窗口小部件表单模板,然后选择项目并完成
2#从左栏添加垂直布局
3#之后点击UI表格上的某个地方,不仅仅是添加了布局,"布局" - > "在网格中布局"
4#您可以在右侧菜单上调整布局边距(我总是设置5个点)
5#添加四个水平布局
6#添加按钮和文字以及您需要的内容
7#在水平布局
之间添加垂直垫片
8#最终结果:
答案 1 :(得分:1)
我准备了适合您问题的快速代码,请查看:https://github.com/troyane/StackOverflow-pro/tree/master/creating-auto-scaling-qt-ui-using-layouts
抓住该代码并查看下一刻(您可以在QtCreator中打开mainwindow.ui
):
centralWidget
有下一个layoutStretch
参数:1,2,1,1
- 这意味着,我们将在此垂直布局中的所有项目之间进行下一次关联。TextLabel
且两个SmallButton
都有Fixed
VerticalPolicy BigButton
都有Minimum
垂直政策,并将minimumSize的高度设置为100. UPD:另外maximumSize
- > height
参数为250
px。因此,可以保证两个BigButton的高度不会超过250像素。 看看another answer,你可以在那里找到很多关于布局的文献。
答案 2 :(得分:0)
您可以在每个布局中放置两个垂直垫片。一个应放在最顶层,另一个放在底部: