Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.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
如何使用QVariant将枚举转换为QString < >为了将C++中的枚举转换成qSnk,可以执行以下操作: template<typename QEnum> static QString QtEnumToString (const QEnum value) { QString valueString = QVariant::fromValue(value).toString(); return valueString; }_C++_Qt_Enums_Qstring - Fatal编程技术网

如何使用QVariant将枚举转换为QString < >为了将C++中的枚举转换成qSnk,可以执行以下操作: template<typename QEnum> static QString QtEnumToString (const QEnum value) { QString valueString = QVariant::fromValue(value).toString(); return valueString; }

如何使用QVariant将枚举转换为QString < >为了将C++中的枚举转换成qSnk,可以执行以下操作: template<typename QEnum> static QString QtEnumToString (const QEnum value) { QString valueString = QVariant::fromValue(value).toString(); return valueString; },c++,qt,enums,qstring,C++,Qt,Enums,Qstring,例如,输出: qDebug() << ClipboardItem::QtEnumToString(Type::Html); 但是,如果我尝试运行QStringToQtEnum(“Type::Html”)输出总是QVariant::Invalid QMetaEnum::fromType().valueToKey(“Html”)请注意,编译器并不严格要求将枚举的名称嵌入到可执行文件中。在某些平台上(当然,只有在更高版本中),带有“a”和“b”定义的“enumType”类型的枚举

例如,输出:

    qDebug() << ClipboardItem::QtEnumToString(Type::Html);
但是,如果我尝试运行
QStringToQtEnum(“Type::Html”)
输出总是
QVariant::Invalid

QMetaEnum::fromType().valueToKey(“Html”)
请注意,编译器并不严格要求将枚举的名称嵌入到可执行文件中。在某些平台上(当然,只有在更高版本中),带有“a”和“b”定义的“enumType”类型的枚举可以打印为“enumType”和“enumType”,而不是“enumType::a”。上次使用MSVC2015在UWP上进行测试和观察。
QMetaEnum::fromType().valueToKey(“Html”)
请注意,编译器并不严格要求将枚举的名称嵌入到可执行文件中。在某些平台上(当然,只有在更高版本中),带有“a”和“b”定义的“enumType”类型的枚举可以打印为“enumType”和“enumType”,而不是“enumType::a”。最后使用MSVC2015在UWP上测试和观察。
    qDebug() << ClipboardItem::QtEnumToString(Type::Html);
    static QVariant::Type QStringToQtEnum (const char *name)
    {
        return QVariant::nameToType(name);
    }