1

有没有办法在QListView显示后更改元素的图标?

我找不到setData使用DecorationRole(用于图标的角色)的方法。

使用的模型是自定义的QFileSystemModel,但默认实现只EditRole对更改项目名称有好处。

我不知道如何覆盖setData可以完成。

目标是在鼠标悬停在项目上时更改图标(通过mouseMoveEvent

4

1 回答 1

1

QListView当鼠标悬停在项目上时,您将需要子类化并实现更改显示图标角色的行为。

这样的子类可以使用内部代理模型,这样就不需要弄乱基础视图的绘制。只需通知代理给定项目的装饰角色数据已更改,基本视图就会知道该做什么。

于 2015-08-03T20:40:49.440 回答