2

我正在model使用以下代码创建一个:

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 表,但没有任何数据。在“点击”之后,一切都消失了(这只是点击按钮的那一刻)..

所以我错过了什么?- 谢谢

4

1 回答 1

3

您在堆栈上创建模型并传递一个指针,该指针在您离开声明它的方法后立即变得无效。

QStandardItemModel * table_model = new QStandardItemModel(4,4);
于 2013-04-17T11:21:37.733 回答