有没有办法在QListView
显示后更改元素的图标?
我找不到使用setData
(图标所用角色)DecorationRole
的方法。
使用的模型是自定义QFileSystemModel
,但默认实现仅适用于EditRole
,因此更改项目的名称。
我不知道被覆盖的setData
是如何完成的。
目标是当鼠标悬停在项目上时(通过mouseMoveEvent
)
答案 0 :(得分:1)
当鼠标悬停在项目上时,您需要子类化QListView
并实现更改显示图标角色的行为。
这样的子类可以使用内部代理模型,因此不需要弄乱基本视图的绘图。只需告知代理,给定项目的装饰角色数据已更改,基本视图将知道该怎么做。