QML插件的创建及调用
创建QML Plugin
1、
注册插件
1、可以将qml文件放在qmldir中进行声明。
此种方式需要将qml文件和qmldir放在一起
module EularFrame
plugin EularFrame
EButton 1.0 MyButton.qml
2、可以在*plugin.cpp
注册
此种方式只需要携带qmldir即可
qmlRegisterType(QUrl("qrc:/qml/MyButton.qml"), uri, 1, 0, "EButton");
调用插件
1、在main函数添加导入路径
路径需要是qml文件上两层目录
比如qml是存放各种插件的,其中有个插件叫EularButton
那么qml必须有个文件夹是EularButton
,EularButton
文件夹下有qmldir
及各种qml
文件
将qml这层的路径添加即可。
engine.addImportPath("../qml");
大家可以看下QT提供的qml文件,也是这样放置的
Qt5.12.10\5.12.10\msvc2017_64\qml
2、在main.qml导入module
module是qmldir的module
那一行的名字,版本是由QT默认生成的
如下
// @uri EularFrame
qmlRegisterType<Frame>(uri, 1, 0, "Frame");