Qt:更改 QListView 中的图标
Qt: Change the icon in a QListView
有没有办法在 QListView
中的元素显示后更改其图标?
我找不到用 DecorationRole
(用于图标的角色)做 setData
的方法。
使用的模型是自定义的QFileSystemModel
,但默认实现只对EditRole
有用,所以要更改项目的名称。
我不知道被覆盖的 setData
是如何完成的。
目标是当鼠标悬停在项目上时改变图标(通过mouseMoveEvent
)
您需要继承 QListView
并实现当鼠标悬停在项目上时更改显示图标角色的行为。
这样的子类可以使用内部代理模型,这样它就不需要扰乱基础视图的绘制。只需通知代理给定项目的装饰角色数据已更改,基础视图就会知道该怎么做。
有没有办法在 QListView
中的元素显示后更改其图标?
我找不到用 DecorationRole
(用于图标的角色)做 setData
的方法。
使用的模型是自定义的QFileSystemModel
,但默认实现只对EditRole
有用,所以要更改项目的名称。
我不知道被覆盖的 setData
是如何完成的。
目标是当鼠标悬停在项目上时改变图标(通过mouseMoveEvent
)
您需要继承 QListView
并实现当鼠标悬停在项目上时更改显示图标角色的行为。
这样的子类可以使用内部代理模型,这样它就不需要扰乱基础视图的绘制。只需通知代理给定项目的装饰角色数据已更改,基础视图就会知道该怎么做。