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,但是此時他已經釋放了,
 * 所以就會報錯,程序異常退出
*/

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章