Qt提示xxx.exc 已停止工作

问题大概就是这个样子

 原因:

Qt的对象树会在你析构的时候,逐渐析构你的子对象,就假设是这种情况

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    /* 在.h文件中 加入 QPushButton *btn */
    btn = new QPushButton(this); /* 此处指明了父对象 */
}

MainWindow::~MainWindow()
{
    delete  btn; /* 或者放在delete ui 下面*/
    delete ui;
}
/* 当你delete btn之后,delete ui会释放所有的子对象,
 * 包括btn,但是此时他已经释放了,
 * 所以就会报错,程序异常退出
*/

 

你可能感兴趣的:(Qt)