在Qt5中解析插件的metaData

时间:2013-11-28 14:01:23

标签: qt plugins metadata

Qt doc说QPluginLoader :: metaData()允许我们读取有关插件的元数据,但是没有关于字段本身的文档,以便解析返回的QJsonObject。
在qDebugging之后,这是我收到的字段:

IID
MetaData
className
debug
version

我理解MetaData是我放在myplugin.json中的东西,但是我可以以可持续的方式依赖其他字段(如IID),还是可以为下一个Qt版本更改的内部内容?

1 个答案:

答案 0 :(得分:-1)

元数据包含一个键“MetaData”,其中有一个QJsonObject作为值。要获取元数据,您可以执行以下操作:

QPluginLoader plugin("path/to/plugin.dll");
QJsonValue pluginMetadata(plugin.metadata().value("MetaData"));
QJsonObject metaDataObject = pluginMetadata.toObject();

// If there is e.g. version string in the metadata with the key "version"
// return an empty string if there is no key->value pair
QString pluginVersion = metaDataObject.value("version").toString();