一.扩展插件的使用
在我们使用Qml的时候都会看到类似下面的语句
import QtQuick 2.2
import QtQuick.Window 2.2
import QtQuick.Controls 1.2
通过上面的import语句,我们就可以使用qml中对应的控件了
模块的导入语句import + 模块名称 + 版本号
Qt本身自带很多已经封装好的 扩展插件。本文的主要目的是介绍开发基本的扩展插件
二.扩展插件的创建
1. 创建子项目目录
2.创建子项目
以上都是系统自定义的创建方式,只要一步一步跟着操作下去就可以了。
3.开始创建 扩展插件
Name: 是生成的扩展插件所在的目录名称,这里我们将名称设置为Plugin,与下面的保持一致
4.新增自己扩展的qml插件
如上面两个图片所示,新增了两个插件.
5.编译,这个不用解释。 经过编译之后会生成一个动态库。按照上图的配置会生成一个libPlugin.so动态库(linux)。如果实在windows会生成一个.dll文件。
三.使用外部插件
1.main.qml文件中新增如下代码
2.在子项目的.pro文件中添加QML_IMPORT_PATH = $$PWD/../
这个路径是我们在创建扩展插件的时候添加的Name,所在的目录,也就是/home/ubuntu/workspace/test
这个环境变量的目的主要是为了解决在使用的时候出现的波浪线。
3.将之前生成的动态库拷贝到扩展插件所在的目录,这里是/home/ubuntu/workspace/test/Plugin下面
4.添加环境变量QML2_IMPORT_PATH之后就可以正确运行
添加方式有很多。
1> QQmlApplicationEngine::addImportPath添加
2>系统环境变量添加 export QML2_IMPORT_PATH=/home/ubuntu/workspace/test 田间
3> QtCrreator项目中添加
4. 其他的不再一一列举 四.对于扩展插件的相关疑问
1.MyPlugin文件中的Name.qmltypes文件是什么.
答:这个是插件信息文件,可以让Qt Creator争取读取typeinfo信息并且进行补全.
这个是.qmltypes文件生成命令
qmlplugindump -nonrelocatable MyPlugin 1.0 /import/path > /import/path/my/module/plugins.qmltypes
2.MyStyle.qmlc文件是什么文件
答:这个文件大家不用去管,就是增加编译器编译速度的.