无论如何要从元类型 id 创建 QVariant 吗?
例如 :
int id = qRegisterMetaType<MyStruct>();
QVariant myVariant = QVariant::fromMetaType(id);
所以 myVariant 现在是一个 QVariant,其中包含一个默认构造的“MyStruct”值。
我没有找到用 QVariant API 来做这件事,我错过了什么,或者有什么技巧吗?
谢谢
最佳答案
QVariant
constructors 之一是这样做的:
QVariant::QVariant(int typeId, const void *copy)
请注意,
copy
可以是 nullptr
。所以,你的代码是:auto id = qRegisterMetaType<MyStruct>();
QVariant myVariant{id, nullptr};
当然,如果您有可用的类型本身,那么使用元类型 id 没有意义,您应该使用
fromValue
。关于c++ - 从元类型 id 创建 QVariant,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38021104/