QListWidget自定义icon和文本
时间: 2024-03-27 22:13:03 浏览: 104
QComboBox+QListWidget实现自定义ComboBox
5星 · 资源好评率100%
可以通过重载QListWidgetItem类的paint()方法来实现自定义图标和文本。具体步骤如下:
1. 创建一个自定义的QListWidgetItem子类,例如MyListWidgetItem。
2. 重载MyListWidgetItem的paint()方法,在该方法中完成自定义绘制逻辑,包括图标和文本。
3. 在主窗口的QListWidget中添加自定义的MyListWidgetItem实例即可。
下面是一个简单的示例代码:
```
class MyListWidgetItem(QListWidgetItem):
def __init__(self, icon, text, parent=None):
super().__init__(parent)
self.icon = icon
self.text = text
def paint(self, painter, option, index):
painter.save()
painter.drawPixmap(option.rect.x(), option.rect.y(), self.icon)
painter.drawText(option.rect.right() + 10, option.rect.center().y(), self.text)
painter.restore()
# 在主窗口中使用
listWidget = QListWidget()
icon = QPixmap("icon.png")
item = MyListWidgetItem(icon, "text")
listWidget.addItem(item)
```
阅读全文