我正在构建自定义 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";
}
}
但我在生成的 TableView 中得到的只是第二列中的文本。第一列中没有文件夹图标。
我是不是漏掉了什么?
最佳答案
Qt::DisplayRole
仅适用于文本。添加:
if ( role == Qt::DecorationRole ) {
return iconProvider->icon(QFileIconProvider::Folder);
}
关于c++ - 如何通过自定义 QAbstractItemModel 在 QTableView 中显示图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10820919/