問題大概就是這個樣子
原因:
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,但是此時他已經釋放了,
* 所以就會報錯,程序異常退出
*/