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

Posted

技术标签:

【中文标题】Qt: c++: QTableView 不显示我的模型【英文标题】:Qt: c++: QTableView does not display my Model 【发布时间】:2013-04-17 11:01:23 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于Qt: c++: QTableView 不显示我的模型的主要内容,如果未能解决你的问题,请参考以下文章

Qt QTableview 使用 QItemDelegate 生成的按钮显示不准确

Qt C++ 排序 TableView

如何在 Qt 的 QTableView 中显示一个简单的 QMap?

Qt C++ 从 QTableView 中获取选定行的每个单元格的数据

QT QTableView控件 实时刷新显示

Qt:在编辑 QTableView 项目数据时而不是在编辑完成后发出信号?