qml-自定义quick模块

qml-自定义quick模块,第1张

将自己写的可通用的qml组件打包成dll文件,供其他项目使卖键用。通过生成qmltypes文件实现在qt creator中正常识别,能够自动补全。项目不需要任何多余 *** 作,直接import即可使用。

https://github.com/loveCatCoder/ZNModule/tree/master

按照如图所示设置新建项目,自定义项目名和保存路径。

在项目中编写自定义组件,将组件的qml文件包含在qrc文件中。在插件类的registerTypes成员函数中注册自定义组件。如下图:

构建项目,找中悄巧到生成的dll,lib,qmldir,尽量在release模式下构建

自己找一个地方新建一个文件夹,文件夹名字和qml模块名一致。如ZNModule,将上面的dll,lib,qmldir文件拷贝到ZNModule文件夹中。修改qmldir如下:

将ZNModule文件夹复制到qt安运清装目录中对应编译器的qml文件夹中,即可在qt creator正常使用,可以自动补全,不会有波浪线。我的目标路径如下,编译器要选对。

toou2d组件库

https://github.com/ShowFL/Toou-2D

涛哥博客

https://jaredtao.github.io/2019/06/01/Qml%E7%BB%84%E4%BB%B6%E5%8C%96%E7%BC%96%E7%A8%8B10-%E8%87%AA%E5%AE%9A%E4%B9%89Quick%E6%A8%A1%E5%9D%97/

QML (Qt Markup Language)是基于JavaScript、宣告式编程的编程语言,用于设计用户界面为主的应用程序。它是Qt Quick,诺基亚开发的用户界面创建包的一部分。

QML 主要用于移动应用程序,注重于触控输入、流畅的动画(60张/秒)和用户体验。QML documents 描述元素的对象树。

Qt 附带的QML 模块包括原始图形构建块(例如,矩形、图像)、建模组件;行为组件(例如,TapHandler、DragHandler、State、Transition、Animation)以及更复杂的组件控件(例如,按钮、滑块、抽屉、菜单)。

这些元素可以组合起来构建从简单的按钮和滑块到完整的支持 Internet 的程序的复杂组件。

QML 元素可以通过标准JavaScript内联和通过包含的 .js 文件进行扩充。元素也可以通过使用 Qt 框架的C++组件无缝集成和扩展。

QML 是语言;它的 JavaScript 运行时是自定义的 V4 引擎,自 Qt 5.2 起;而Qt Quick是2D场景图和基于它的UI框架。这些都是 Qt Declarative 模块行橡的一部分,而该技术不再称为 Qt Declarative。

QML 和 JavaScript 代码可以使用 Qt Quick Compiler 编译成原生 C++ 二进制文件。档颂旁或者,还有一种 QML 缓存文件格式,它动态存储 QML 的编译版本,以便在下次运行时更快地启动。

开发工具

由于 QML 和 JavaScript 非常相似,几乎所有支持 JavaScript 的代码编辑器都可以使用。

但是,自 2.1 版以来的免费跨平台 IDEQt Creator和许多其他 IDE 中都提供了对语法突出显示、代码完成、集成帮助和所见即所得编辑器的全面支持。

qml 可执行文件可用于将樱耐 QML 文件作为脚本运行。如果 QML 文件以shebang开头,则它可以直接执行。为部署打包应用程序(尤其是在移动平台上)通常涉及编写一个简单的 C++ 启动器并将必要的 QML 文件打包为资源。

一、打开Qt Creator

选择:开始->所有程序->Qt5.2.0->Qt Creator

二、新建QML项目

(1)选择:文件->新建文件或项目

(2)选择:应用程序->Qt Quick Qpplication,点击“选择”按钮

(3)输入“项目名称”,点击“下一步”

(4)以后各步骤点击“下一步”即可

三宽拆培、运行

右键项目->运行,或者直接点击“运行”按钮

这里可以看出,新建一个qml项御猜目后,会生成一些默认的代码,直接运行即可!

效果如下:

个人认为,针对桌面开发时,很多时候如果能够C++与QML混编,效果会更好。

QML语法简单,而且动画慎唯效果强大,如果对JavaScript比较熟悉,那么学起QML则事半功倍,当然HTML与CSS也必不可少!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12296957.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存