我正在构建一个自定义的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";
}
}
但是我得到的表视图中的所有内容都只是第二列中的文本。第一列没有文件夹图标。
我在这里错过了什么吗?
答案 0 :(得分:5)
Qt::DisplayRole
仅适用于文字。添加:
if ( role == Qt::DecorationRole ) {
return iconProvider->icon(QFileIconProvider::Folder);
}