答案 0 :(得分:3)
使用简单的自定义项目委托可以很容易地完成:
class ItemDelegate(QtGui.QStyledItemDelegate):
def paint(self, painter, option, index):
option.decorationPosition = QtGui.QStyleOptionViewItem.Right
super(ItemDelegate, self).paint(painter, option, index)
class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
def __init__(self):
...
self.delegate = ItemDelegate()
self.listWidget.setItemDelegate(self.delegate)
要从项目中删除图标,只需将其设置为空QIcon
:
listItem.setIcon(QtGui.QIcon())
答案 1 :(得分:1)
为此,您需要提供自己的项目委托,以便按照您的意愿绘制项目数据。
请参阅QAbstractItemView::setItemDelegate()
。
您可以使用QStyledItemDelegate
作为基类,让paint()
处理除Qt::DecorationRole
(图标)以外的所有方面并自行绘制。