2013-04-17 44 views
2

我使用這個代碼創建一個modelQt的:C++:QTableView中不顯示我的模型

QStandardItemModel table_model(4,4); 
    for(int row=0; row<4; row++){ 
     for (int column=0; column<4; column++){ 
      QStandardItem* item = new QStandardItem((QString("100"))); 
      table_model.setItem(row,column,item); 
     } 
    } 

然後,我把它傳遞給QTableView如下:

QStandardItemModel* model = &table_model; 
ui->table->setModel(model); 
ui->table->show(); 

然而事情是錯誤。 QTableView什麼也沒有顯示,只是空白處。然而,如果且僅當我點擊觸發按鈕(創建模型並將其鏈接到QTableView),我可以看到4x4表格,但沒有任何數據。在「點擊」之後立即消失(這只是點擊按鈕的時刻)。

那麼我錯過了什麼? - 謝謝

回答

3

您在堆棧上創建模型並傳遞一個指針,該指針在您聲明它的方法離開後立即失效。

QStandardItemModel * table_model = new QStandardItemModel(4,4); 
+0

謝謝,它現在的作品 –