Qt doc说QPluginLoader :: metaData()允许我们读取有关插件的元数据,但是没有关于字段本身的文档,以便解析返回的QJsonObject。
在qDebugging之后,这是我收到的字段:
IID
MetaData
className
debug
version
我理解MetaData是我放在myplugin.json中的东西,但是我可以以可持续的方式依赖其他字段(如IID),还是可以为下一个Qt版本更改的内部内容?
答案 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();