QT QStandardItemModel - 如何在一个单元格中存储项目列表

时间:2013-08-13 10:11:12

标签: qt qstandarditemmodel

我是QT的新手,所以我会提供任何帮助。

在我的应用程序中,我正在创建一个包含行和列的QStandardItemModel。现在我想在一个单元格中保存一个QStrings列表 - 但我不知道该怎么做。 我试着写这段代码:

    QStandardItem* dataRecords = new QStandardItem();
    QList<QStandardItem* > list;

    QList<QString>::const_iterator dataRecord;
    for( dataRecord = i.value()->begin(); dataRecord != i.value()->end(); ++dataRecord )
        list << new QStandardItem((*dataRecord));

    dataRecords->appendRows(list);
    model->setItem(row, 3, dataRecords);

我是QString的QList。 现在,我不知道如何从模型中访问abd来检索QString值。 谁能帮帮我吗?或者建议我采用另一种方式来做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:1)

您应该阅读有关Qt

中的Model \ View proggramming的一些停靠栏

要访问存储在模型中的数据,您应该使用:
QVariant QStandardItemModel::data ( const QModelIndex & index, int role = Qt::DisplayRole )
获取特定小区使用的QModelIndex:
QModelIndex QStandardItemModel::index ( int row, int column, const QModelIndex & parent = QModelIndex() )
一些代码示例......

QModelIndex superIndex = model->index(i,j);
QString superData= model->data(superIndex).toString();