c++ - Qt:c++:QTableView不显示我的模型

标签 c++ qt model 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 表格,但没有任何数据。 “单击”后,所有内容立即消失(这只是单击按钮的那一刻)..

那么我错过了什么? – 谢谢

最佳答案

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

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

关于c++ - Qt:c++:QTableView不显示我的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16058270/

相关文章:

c++ - 执行双浮点除法的正确算法是什么?

c++ - 开罗 + openGL + 过剩 + VS 2010 + Windows 7

C++ 和 Qt : is this a memory leak?(和一般问题)

使用自定义数据而不是 FormCollection 的 C# UpdateModel

ios - 从列表中选择并重新加载 Tableview Swift

C++ 3D 模型动画库?

c++ - 如何做 #define macro to do #define "myInt x" "int* x = new int[5]"

c++ - 是什么导致 g++ 忽略不存在的目录

c++ - 如何使用 QSqlQueryModel 从 SQLite 数据库中删除一行?

c++ - 使用宏创建 QObject 派生类