python-如何删除QTreeWidgetItem中的图标?

我有一个带有QTreeWidgetItems的QTreeWidget,有时项目有一个图标.所以我使用以下方式设置图标:

self.setIcon(0, icon)

但是,如何再次删除该图标?

self.setIcon(0, None)

TypeError: 'PySide.QtGui.QTreeWidgetItem.setIcon' called with wrong argument types:
  PySide.QtGui.QTreeWidgetItem.setIcon(int, NoneType)
Supported signatures:
  PySide.QtGui.QTreeWidgetItem.setIcon(int, PySide.QtGui.QIcon)

解决方法:

为了完整起见,我写下vahancho的注释作为答案.

设置一个空图标:

item.setIcon(column, QtGui.QIcon())

这也很有意义,因为即使没有设置图标

item.icon(column)

确实返回QIcon对象.因此,Qt可能会在内部用空图标预先设置图标.

上一篇:PyQt:使用QDataStream保存本机QTreeWidgets


下一篇:python-从按钮单击返回值