Qt实现的流式布局,20行代码实现

Qt流式布局精简实现
本文介绍了一种在Qt中实现流式布局的简洁方法,利用栅格布局和scrollArea,根据窗口大小动态调整子窗体的排列,代码量少且效果良好。

在我们进行应用程序开发时,流式布局是很常见 的一种布局。Qt中自带的布局并没有实现流式布局,因此我们需要自己实现。写之前看了网上几篇流式布局的博客,感觉实现的比较麻烦,代码不够简洁,不太能满足博主的需要,于是决定自己实现,本篇博客中实现的流式布局应该是全网代码量最少的流式布局了,代码比较简单,但是效果还是不错的。
博主在项目中实现的效果如下图所示:
fdfafaf
在这里插入图片描述

思路比较简单:
利用栅格布局和scrollArea,子窗体放在栅格布局中,将栅格布局放入scrollArea,每当窗体大小改变时,重新计算scrollArea每行能放几个子窗体,然后利用addWidget()对栅格布局中的子窗体进行重新排列即可。

代码如下:

template <typename  equ_type>
void UIDemo01::set_flow_layout(int width,int height,int equ_width,QList<equ_type*> equ_list,QGridLayout *gri_lay)
{
   
   

    int col_cnt=width
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值