回覆列表
  • 1 # 使用者4067695617167

    Qt程式異常終止的原因:

    一、在使用指標之前,要進行指標是否為null的判斷,如果為NULL卻直接使用該指標,就會異常終止。如在QTableView:

    QStandardItemModel *model = new QStandardItemModel;

    model->item(0,1)->text()

    單元格沒編輯過,直接用 model->item(0,1)->text() 的話,程式會異常終止。

    二、解構函式中加入釋放記憶體的delete程式碼後,關閉Qt應用程式,會出現程式異常終止,去掉析構函數里delete的程式碼就沒有問題了。我是在工程中額外新增一個繼承自QTableView的Qt設計師介面類,並在ui_widget.h中,即widget.ui介面的原始碼中,將QTableView改為我這個新增的類的類名。在新建的類的cpp檔案中,註釋掉

    ,ui(new Ui::CTblView);

    ui->setupUi(this);

    兩行,但沒有註釋掉

    delete ui;

    原因和第一點一樣,ui定義了沒有使用,就直接delete,故而導致程式異常終止。也註釋掉這行就正常了。

    三、指標物件沒有例項化就進行引用

    如:

    Dialog *d;d = new Dialog;d->show();如果忘了第二行的例項化,也會導致Qt程式異常終止。

  • 中秋節和大豐收的關聯?
  • 誰知道如何提高軟切換成功率?