如何使用 QStringListModel 在 QListView 中添加图标?

How add icon in QListView using QStringListModel?

是否可以使用 QStringListModel 向 ListView 添加图标?

这就是我正在做的。

QStringListModel* model;
QStringList List;
model->setStringList(List);
ui->listView->setModel(model);
...

model->setData(index, "Test");
model->setData(index,QIcon(":/icon.png"),Qt::DecorationRole);

遗憾的是图标没有出现在列表中。

如何将图标添加到列表中?

QStringListModel 不支持 DisplayRoleEditRole 以外的角色。

改为使用 QStandardItemModel 以便通过 DecorationRole 显示图标:

auto model = new QStandardItemModel(this);
ui->listView->setModel(model);
model->appendRow(new QStandardItem(QIcon(":/icon.png"), "Test"));