我有一个 QTreeView ,其中的某些项目都用图标装饰。这些项目可以在TreeView的任何列中。
我想知道如何检测图标上的鼠标单击。我可以使用视图的 mousePressEvent()来检测鼠标是否被按下,我可以通过以下方式调用模型的 data()方法来检查单击项中是否存在图标: em> Qt.DecorationRole 来查看是否返回空的 QVariant ,并且可以使用视图的 iconSize()方法查询图标的大小。但是我无法知道项目可视矩形内图标的坐标。
PS。其他与QTreeView装饰有关的SO问题通常涉及树折叠和 expand 图标,与该问题无关。