Qt栅格布局的示例

cpp 复制代码
    QGridLayout * layout=new QGridLayout;
    for(int i=0;i<10;i++)
    {
        for(int j=0;j<6;j++){
            QLabel *label=new QLabel(this);
            label->setText(QString("%1行%2列").arg(i).arg(j));
            layout->addWidget(label,i,j);
        }
    }
    ui->widget->setLayout(layout);

这样写程序会崩溃的:

cpp 复制代码
    QGridLayout * layout=new QGridLayout;
    for(int i=0;i<10;i++)
    {
        for(int j=0;j<6;j++){
            QLabel label;
            label.setText(QString("%1行%2列").arg(i).arg(j));
            layout->addWidget(&label,i,j);
        }
    }
    ui->widget->setLayout(layout);

因为QLabel的生存周期太短了。

相关推荐
老纪3 分钟前
Redis分布式锁进第九零篇
数据库·redis·分布式
haven-8524 分钟前
MySQL事务ACID、隔离级别、MVCC、幻读解决
数据库·mysql
小高学习java21 分钟前
事务的边界问题,如何判断数据回滚时机。
java·数据库·后端
何极光25 分钟前
Maven安装与配置
java·maven
Ting.~26 分钟前
在java中接入百度地图
java·开发语言·dubbo
敲个大西瓜28 分钟前
加密算法小解
java
小短腿的代码世界28 分钟前
Qt对象树析构链与智能指针协同:零泄漏内存管理架构
开发语言·qt·架构
阿维的博客日记32 分钟前
怎么样才算是用到了反射呢?有什么关键特征吗
java
小庞在加油43 分钟前
从qmake到CMake+VSCode:Qt项目现代化迁移与AI提效实战指南
vscode·qt·ai·ai工具
wuminyu1 小时前
Java世界中StringTable源码剖析
java·linux·c语言·jvm·c++