Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qcon/QPixmap/QImage的QVariant_C++_Qt_Qvariant - Fatal编程技术网

C++ Qcon/QPixmap/QImage的QVariant

C++ Qcon/QPixmap/QImage的QVariant,c++,qt,qvariant,C++,Qt,Qvariant,我想提取存储在QTreeWidget的一个列中的QIcon,如Qt::DecorationRole QTreeWidgetItem *item = ui->treeWidget->topLevelItem(index); const QIcon &icon = item->data(0, Qt::DecorationRole)._howToConvert_(); 但是,我只能以QVariant的形式获取数据,并且找不到从QVariant转换为QIcon的函数。有可能吗

我想提取存储在QTreeWidget的一个列中的QIcon,如Qt::DecorationRole

QTreeWidgetItem *item = ui->treeWidget->topLevelItem(index);
const QIcon &icon = item->data(0, Qt::DecorationRole)._howToConvert_();
但是,我只能以QVariant的形式获取数据,并且找不到从QVariant转换为QIcon的函数。有可能吗?

好的,在进一步检查后找到答案

这项工作:

QImage image = variant.value<QImage>();
反向转换(例如,从
QColor
QVariant
)是自动的
QVariant
支持的所有数据类型,包括GUI相关类型:

QColor color = palette().background().color();
QVariant variant = color;

如果您想知道:您声明为元类型并在用户角色中使用的任何自定义类型的计数都相同。
QColor color = palette().background().color();
QVariant variant = color;