Qt中使用打破布局的灵活性的情况下,保持栅格布局的控件可缩放

QT中UI布局设计(如何在让界面既能满足打破布局的灵活性,又能获取栅格布局的整齐性和控件跟随缩放能力)

要解决问题说明

最近在使用Qt编程,Qt的编程挺方便的,但是Qt的界面设计一直困扰着我,在使用打破布局时,界面缩放时,控件没法跟着缩放。使用栅格布局时,布局的效果一致不是我想要的,而且没法随心所欲的调整各个控件的大小。使用Qt的时间不长,一直没有找到两全其美的办法。Qt的栅格布局中,没法设置各个控件占栅格的大小(我是没找到这个功能,也许有这个功能)。
我是用的解决方案是在界面设计时,使用打破布局,这样可以随心所欲调整各个分布件的大小。为了实现栅格布局的优点,在代码中,添加Layout指令,实现栅格布局。

界面设计

界面上的设计
以界面中实现三个groupbox为例,在UI设计中,将布局设置为打破布局,如图所示。
Qt界面设计
代码中的实现
在构造函数的代码中添加Layout,把要设置的3个GroupBox放进去,并设置占的行列数。 代码片.

      QGridLayout *Layout = new QGridLayout();
    Layout->addWidget(ui->groupBox,0,0,3,7);
    Layout->addWidget(ui->groupBox_2,3,0,7,7);
    Layout->addWidget(ui->groupBox_3,0,7,10,3);
    ui->centralWidget->setLayout(Layout);

最终实现的结果
最终生成的界面如下图所示。
最终生成的界面
这个界面可以在缩放时,控件也会跟着缩放。如图所示。
放大后的界面
如果界面设计中没有添加layout,头文件需要包含QGridLayout 头文件。

结束语

第一次写CSDN的BLOG,自己做一个记录,也为了有相同需求的人解决问题,如果有更好的解决方法或者思路,希望各位不吝赐教。
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值