c++qtqvariant

QVariant to QIcon/QPixmap/QImage


I want to extract a QIcon I've stored in one of a QTreeWidget's columns, as Qt::DecorationRole.

QTreeWidgetItem *item = ui->treeWidget->topLevelItem(index);
const QIcon &icon = item->data(0, Qt::DecorationRole)._howToConvert_();

However, I can only get the data as QVariant, and I could not find a function to convert from a QVariant to QIcon. Is it possible to do it?


Solution

  • OK, found the answer in the docs for QVariant upon further inspection.

    This works:

    QImage image = variant.value<QImage>();