我正在使用以下代码创建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表,但没有任何数据。 “单击”后,所有内容立即消失(仅是单击按钮的时刻)。

那我想念什么呢? - 谢谢

最佳答案

您在堆栈上创建模型,并传递一个指针,该指针在将方法保留在声明它的位置后立即失效。

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

10-06 03:39