2

我正在构建一个自定义 QAbstractItemModel 模型。

第一列包含图标,第二列 - 文本。

这是数据方法的代码:

QVariant data ( const QModelIndex & index, int role = Qt::DisplayRole ) const
{
    if(role != Qt::DisplayRole )
        return QVariant();

    int col = index.column();
    if (col == 0)
    {
        return iconProvider->icon(QFileIconProvider::Folder);
    }
    else if (col == 1)
    {
        return "TEXT";
    }
}

但是我在结果表视图中得到的只是第二列中的文本。第一列中没有文件夹图标。

我在这里错过了什么吗?

4

1 回答 1

7

Qt::DisplayRole仅用于文本。添加:

if ( role == Qt::DecorationRole ) {
    return iconProvider->icon(QFileIconProvider::Folder);
}
于 2012-05-30T17:21:21.000 回答