PyQt:将图标添加到 QListWidget 项目的右侧

Yas*_*sin 4 icons qt pyqt qlistwidget

在 QlistWidget 中,使用时listItem.setIcon(qIcon)将图标放在列表项的左侧。如何让它显示在右侧,如下所示?

在此输入图像描述

还有一个问题。如何从项目中删除图标?

ekh*_*oro 8

这可以通过一个简单的自定义项目委托轻松完成:

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)
Run Code Online (Sandbox Code Playgroud)

要从项目中删除图标,只需将其设置为 null QIcon

listItem.setIcon(QtGui.QIcon())
Run Code Online (Sandbox Code Playgroud)