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

时间:2013-04-17 11:01:23

标签: c++ qt model qtableview

我正在使用以下代码创建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 个答案:

答案 0 :(得分:3)

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

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