【发布时间】:2014-07-29 11:20:41
【问题描述】:
我有自己的 QListView 子类,我想更改索引为 mLastIndex 的项目的颜色。我试过了
QModelIndex vIndex = model()->index(mLastIndex,0) ;
QMap<int,QVariant> vMap;
vMap.insert(Qt::ForegroundRole, QVariant(QBrush(Qt::red))) ;
model()->setItemData(vIndex, vMap) ;
但它并没有改变颜色,而是不再显示该项目。知道出了什么问题吗?
【问题讨论】:
-
我会打电话给
model()->setData(vIndex, QBrush(Qt::red), Qt::ForegroundRole);。 -
@vahancho Ty.它工作正常。但我不明白为什么 setItemData() 不起作用。
-
setItemData()函数返回什么? -
我不确定,但也许这会起作用:
vMap.insert(Qt::ForegroundRole, QBrush(Qt::red)); model()->setItemData(vIndex, vMap);? -
@vahancho 不。有点奇怪。没关系,你给了我正确的解决方案。再次感谢。