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

Dan*_*tos 2 c++ qt qlistview 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);
Run Code Online (Sandbox Code Playgroud)

不幸的是,该图标没有出现在列表中。

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

kef*_*500 8

QStringListModel不支持DisplayRole和以外的角色EditRole

QStandardItemModel改为使用以通过DecorationRole以下方式显示图标:

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