注册 登录
编程论坛 Qt手机开发

新人对局部变量加入对象树的问题

widon1104 发布于 2021-12-21 18:50, 3669 次点击
程序代码:
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QPushButton *btn = new QPushButton("弹出对话框", this);
    connect(btn, &QPushButton::clicked, [=](){
        QDialog dlg(this);
        dlg.resize(200, 100);
        dlg.exec();
    });
}

两个问题:
1)上面这个代码dlg是lambda函数的局部变量,传入了this指针加入了对象树,lambda函数退出的时候dlg对象已经被析构,当dlg析构的时候是不是会自动退出对象树?
不然对象树析构的时候会拿dlg这个已经无效的对象来析构,这样应该会出问题吧?
2)是不是以后开发qt,只要终端没报error log,没崩溃,就可以认为没问题啊?
0 回复
1