我正在尝试为我的应用开发插件模型。这个想法很简单:
对于主应用程序中的第2步,我可以使用Qml Loader组件加载外部QML文件。所以main.qml看起来像这样:
Rectangle {
width: 500
height: 500
Loader {
id: loader
source: ???
}
}
我使用QPluginLoader从c ++加载插件,我的插件界面如下所示:
class ExtensionInterface:public QObject {
Q_OBJECT
public:
virtual ~ExtensionInterface() {}
virtual QString getVersion() = 0;
virtual QQmlComponent* getComponent() = 0;
};
那么如何从插件中获取.qml文件并将其放入Loader中?
更新: 我在插件资源中添加了.qml。现在插件看起来像这样:Plugin structure
要创建新的QQmlComponent,我需要qml引擎和qml文件的路径。我知道如何将引擎传递给插件,但我应该使用什么路径?来自插件的功能:
QQmlComponent* getComponent(){
QQmlComponent* component = new QQmlComponent(m_QmlEngine, "???");
return component
}