在QStandardItem的图标上显示文本,可以通过设置QStandardItem的数据来实现。具体步骤如下:
item = QStandardItem()
item.setIcon(QIcon("icon.png"))
item.setText("Text")
data = {"text": "Text", "icon": "icon.png"}
item.setData(data, Qt.UserRole)
class CustomDelegate(QStyledItemDelegate):
def paint(self, painter, option, index):
data = index.data(Qt.UserRole)
if data and isinstance(data, dict):
text = data.get("text")
icon_path = data.get("icon")
if text and icon_path:
icon = QIcon(icon_path)
icon.paint(painter, option.rect, Qt.AlignLeft)
painter.drawText(option.rect.adjusted(20, 0, 0, 0), Qt.AlignLeft, text)
else:
super().paint(painter, option, index)
model = QStandardItemModel()
model.setItemDelegateForColumn(0, CustomDelegate())
通过以上步骤,就可以在QStandardItem的图标上显示文本了。需要注意的是,上述代码中的"icon.png"和"Text"分别表示图标和文本的路径或内容,可以根据实际情况进行修改。
推荐的腾讯云相关产品:腾讯云对象存储(COS)
请注意,以上答案仅供参考,具体的实现方式和推荐产品可能会因实际需求和环境而有所不同。
领取专属 10元无门槛券
手把手带您无忧上云