QT设计器-如何创建布局

问题描述

我是QT的新手,尤其是QT Designer,我发现它非常不直观。

我要在Qt Designer中实现以下布局。

enter image description here

说明:

  • 黄色->应用程序窗口
  • 蓝色-> 2个侧面按钮,分别带有红色和白色的高度
  • RED->应该是蓝色高度的2/3左右
  • 白色->也应该是蓝色高度的1/3

布局:

  • 红色->水平布置
  • 白色->水平布置
  • 红色+白色->垂直布置
  • 蓝色+(红色+白色)->水平布置
  • (蓝色+(红色+白色))+空格->垂直布置(因为在按钮和应用程序顶部之间需要一定的间距)

但是,如果我要使用上面所说的内容,我将得到以下内容:

enter image description here

就我搜索而言,我可以使用在Splitter中水平放置在Splitter中水平放置来保持所需的长宽比,但是然后我可以拆分该应用,但我不想要那样。 谁能帮助我了解我该怎么做?还是唯一的方法是使用C ++?

解决方法

我认为您正在寻找的是QGridLayout

在QGridLayout中,您可以为每个小部件确定它将占据多少行(只需拖动其边框)以及每行/的各种“重量”(参数称为rowStretchcolumnStretch)/列。

示例:Your layout with QGridLayout 您的布局可能如下所示:

一个大黄色矩形是第一个QGridLayout(1行x 5列),其中包含(从左到右):

  • 您的第一个蓝色元素(占1行1列);
  • 3个绿色的QGridLayouts;
  • 您的第二个蓝色元素(占1行1列);

绿色QGridLayouts(2行x 2列)的配置方式如下:

  • 您的红色元素(占据1行和2列,并且rowStretch为2);
  • 您的第一个白色元素(占用1行1列,并且rowStretch为1);
  • 第二个白色元素(占1行1列,rowStretch为1);

通过这种方式,红色和白色元素在垂直方向上比例为2:1,并且(由于togheter占据了蓝色的同一行),蓝色高度是红色+白色的总和。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...