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的生存周期太短了。

相关推荐
这周也會开心14 分钟前
SpringMVC整理
java·springmvc
東雪木15 分钟前
Spring Boot 2.x 集成 Knife4j (OpenAPI 3) 完整操作指南
java·spring boot·后端·swagger·knife4j·java异常处理
数学难18 分钟前
Java面试题2:Java线程池原理
java·开发语言
Charles_go19 分钟前
C#8、有哪些访问修饰符
java·前端·c#
qwer12321ck7622 分钟前
srcType instanceof Class 及泛型 vs 普通类
java
咸鱼求放生23 分钟前
Java 8 Stream API
java·开发语言
盒马coding40 分钟前
PostgreSQL18新功能COPY命令变得更加用户友好
数据库·postgresql
moiumxf0278q1 小时前
C++中智能指针是如何工作的?
java·jvm·c++
️️(^~^)1 小时前
触发器,存储过程
数据库
罗光记1 小时前
Quantinuum 发布新型量子计算机“Helios“
数据库·经验分享·其他·百度·twitter