Qt+QML
文章平均质量分 74
以实战为线索,总结梳理Qt+QML的使用经验
一二三o-0-O
C/C++客户端资深工程师(直播、音视频剪辑)
音视频与数据结构算法领域创作者
展开
-
Qt Quick开发核心:QML引擎
【目的】1.了解QML组件创建的环境2.了解QML组件,QML上下文,QML引擎之间的关系。3.总结QML引擎提供的开发效率【QML引擎】继承关系:QQmlEngine是继承自QJSEngine,正是由于QJSEngine提供了一个可以评估JavaScript代码的环境,因此我们在qml编写的过程中可以使用JavaScript代码。目前由于JavaScript的流行,因此在QML原生中支持使用JavaScript也是QML一个明显的优势。在QML开发的过程中,每个QML组件都在QQmlCont原创 2020-11-30 10:14:22 · 1285 阅读 · 0 评论 -
C++与QML通信
C++ 与QML可以理解为两个平行的世界,由于很多Qt的模块无法直接在QML中使用,因此在业务开发的过程中,对于C++ 与QML的分工往往是使用QML来构建界面,使用C++ 来实现非界面的业务逻辑开发,所以我们会频繁使用到C++ 与QML的交互,因此对我在开发过程中经常使用的交互方法进行一个梳理。对所有的交互方式给出三类总结:1.推荐使用的原有框架:Qt Quick有一套Model-View-Delegate框架,在这套框架里面完成了C++ 与QML的通信,这个方式在另一篇文章“Model-View-D原创 2020-11-27 20:21:34 · 1413 阅读 · 0 评论 -
Model-View-Delegate编程框架
【Model-View-Delegate】首先简单了解MVC。(Qt官方文档对GUI Design的书籍有相关的推荐:详细请看Books about GUI Design)Model-View-Controller(MVC)是源自SmallTalk的一个设计模式,通常在构建用户界面时使用。在设计模式中写道:MVC由三种对象组成。模型是应用程序对象,视图时其屏幕显示,控制器定义了用户界面对用户输入的反应方式。MVC就是将这三种对象解耦以增加灵活性合复用性。MVD是在Qt原有MVC的基础上对Control原创 2020-11-17 23:22:26 · 608 阅读 · 0 评论 -
qmldir模块化管理qml资源
【解决问题】在使用QQuick进行开发的过程中,随着业务越来越庞大,qml资源会越来越多,通过相对路径进行依赖,越发显得不优雅;想要更加清晰的展示自己封装的qml功能组件或者业务模块,qmldir是一个很好的解决方案【qmldir文件简析】以下是我的一个基础组件模块简析Module BasicComponent #声明模块的模块标识符,必须与模块的安装路径匹配,必须是文件的第一行ShadowRectangle 1.0 ShadowRectangle.qml #依次为类型名称 类型的模块版本原创 2020-11-17 23:17:23 · 1116 阅读 · 6 评论 -
QWidget如何平滑过渡到Qt Quick
Qt Quick优势1.在以往项目的开发过程中,对于PC端 UI的需求,我们使用QWidget完全能够在主流桌面操作系统上实现跨平台的开发工作;但是当遇到可触碰交互的用户界面,并要求在除了主流桌面操作系统,在移动操作系统上也要实现可观的产品时,Qt Quick的适配性更好2.同时使用C++与Qt标记性语言QML,如果你已经熟悉了这套开发流程,你会发现这种相较于原有QWidget的开发,这种开发对View模块的隔离更加彻底,后端应用逻辑使用C++,QML开发用户界面,并有MVD模式可以使用,大大提高开发效原创 2020-11-17 23:15:12 · 883 阅读 · 0 评论