【问题标题】:QT QStandardItemModel - how to store a list of items in one cellQT QStandardItemModel - 如何将项目列表存储在一个单元格中
【发布时间】:2013-08-13 19:00:42
【问题描述】:

我是 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);

i 是 QString 的 QList。 现在,我不知道如何访问 abd 从模型中检索 QString 值。 谁能帮帮我吗?或建议我另一种方法?

谢谢!

【问题讨论】:

    标签: qt qstandarditemmodel


    【解决方案1】:

    你应该阅读一些关于 Qt 中 Model\View 编程的资料

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-02
      • 2016-07-03
      相关资源
      最近更新 更多