QT在QScrollArea中实现动态调整QGridLayout高度

1、这里实现一个4列多行的Grid布局代码片段。

QList<QSharedPointer<stDeviceInfo>> lDeviceInfos = AbleDevicesManage::GetInstance()->GetDevicesInfo();
int nDeviceColNum = 4;
int nDeviceIndex = 0;
int nDeviceNum = lDeviceInfos.size();
m_pGridlayout->setMargin(20);   //设置每列间距
for (int i = 0; i < nDeviceColNum; i++)
{
    m_pGridlayout->setColumnMinimumWidth(i,180);    //设置每列最小尺寸
}
qDebug() << "rows" << m_pGridlayout->verticalSpacing() << " cols" << m_pGridlayout->horizontalSpacing();

m_pGridlayout->setVerticalSpacing(10);
m_pGridlayout->setHorizontalSpacing(30);
qDebug() << "height"   << (nDeviceNum/nDeviceColNum)*150;
ui->scrollAreaWidgetContents->setMinimumSize(QSize(701,(nDeviceNum/nDeviceColNum)*150)); //设置滚动轴的有效区域
ui->scrollAreaWidgetContents->setLayout(m_pGridlayout); //设置LayOut必须在填充Layout之前调用,不然Layout的默认大小不会参照scrollAreaWidgetContents的大小
while(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值