Qt类型的标准文本表示是什么?

时间:2016-05-06 04:52:11

标签: c++ qt serialization deserialization qmetatype

编辑:

我应该澄清:我正在寻求序列化值,而不仅仅是类型的名称。

Qt的内置类型是否有人类可读/文本格式? (例如,在QMetaType或QVariant :: Type中注册的那些。)

查看QSettings的来源,手动创建“ini”格式。有巨型开关块可手动序列化和反序列化“ini”表示。遗憾的是,它也不是标准 - 因为它是QSettings“私有”实现的一部分。

或者Qt类型的文本表示没有任何标准吗?

1 个答案:

答案 0 :(得分:1)

class MyClass {};
Q_DECLARE_METATYPE(MyClass)

QVariant var = QVariant::fromValue<MyClass>(MyClass());
std::cout << var.typeName() << std::endl;

将打印“MyClass”。你也可以使用任何注册类型:QMetaType::typeName(qMetaTypeId<int>())