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

时间:2017-02-17 11:04:20

标签: 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);

遗憾的是,该图标未显示在列表中。

如何在列表中添加图标?

1 个答案:

答案 0 :(得分:4)

QStringListModel不支持DisplayRoleEditRole以外的其他角色。

使用QStandardItemModel代替通过DecorationRole显示图标:

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