(1)QML开发简介
- Qt应用框架在传统UI(QWidget窗体)的基础上,提供了Qt Quick模块,该模块基于 QML 语言来定义UI及交互方式。
- 区别于 QWidget 定义UI的方式,QML利于将UI交互与业务逻辑处理剥离成前后端:前端即 QML UI,后端即 C++对象
- UI交互与业务逻辑的连接纽带是业务对象(biz object)
- 一个QML UI界面既包含可见部分,还包含不可见部分,即业务对象
- 通过调用业务对象所暴露的方法/槽将数据(参数)从前端推送到后端,后端进行数据准备,再通过发射信号将状态反馈给前端
- 类比MVC(Model-View-Controller)模型,QML UI即View,业务对象即Controller,而C++业务属于Model层面(定义数据Model,准备数据)
(2)QML App前/后端交互
其中,业务逻辑处理会有同步和异步两种方式:
- 同步即按主线程执行顺序执行,业务逻辑处理会阻塞主线程(后面的语句);
- 异步即另起线程,不阻塞主线程,执行完毕,再通过信号通知主线程。
(3)相关文档
QML APP开发套路(一):概述
QML APP开发套路(三):前/后端交互内容