QVariant to QIcon/QPixmap/QImage

sashoalm picture sashoalm · May 31, 2013 · Viewed 10.8k times · Source

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?

Answer

sashoalm picture sashoalm · May 31, 2013

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

This works:

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