如何用自定义小部件替换QListWidget的图标?

How to replace the QListWidget's icons with a custom widget?

本文关键字:QListWidget 图标 替换 何用 自定义 小部      更新时间:2023-10-16

目前我有一个viewMode设置为IconQListWidget

有没有办法使用自定义小部件或绘画而不是图标?

mTestLV = new QListWidget;
mTestLV->setIconSize(QSize(128, 128));
mTestLV->setViewMode(QListView::ViewMode::IconMode);
auto icon = QIcon("../../Resources/PCPP.jpg");
for (size_t i = 0; i < 64; i++)
    mTestLV->addItem(new QListWidgetItem(icon, "naaaame")); 

您可以使用 setItemWidget 在 QListWidgetItem 中显示小部件。 只需创建一个 QListWidgetItem,将其添加到您的 QListWidget,然后在该项目上设置您的自定义小部件:

QListWidgetItem *item = new QListWidgetItem();
CustomWidget *custom = new CustomWidget();
mTestLV->addItem(item);
mTestLV->setItemWidget(item, custom);