一、相关定义
1.QML(Qt Meta-Object Language)
是一种声明式编程语言,语法类似 JSON + JavaScript,用于描述用户界面结构与行为。
文件以 .qml 为后缀,定义界面元素属性、信号槽绑定及交互逻辑。
2.Qt Quick
是基于 QML 的技术框架,提供构建动态 UI 所需的标准库(如控件、动画、渲染引擎)。
包含两类接口:
QML API:通过 import QtQuick 导入基础类型(如 Rectangle、Text)。
C++ API:用于扩展 QML 功能或与后端逻辑集成。
二、二者关系
特性 |
QML |
Qt Quick |
本质 |
界面描述语言 |
基于 QML 的 UI 开发框架 |
功能范围 |
定义界面结构与行为逻辑 |
提供渲染引擎、预制组件库及工具链 |
依赖关系 |
可独立存在(需解析引擎) |
必须依赖 QML 语言实现功能 |
开发场景 |
编写 .qml 文件描述界面 |
通过导入 QtQuick 库调用完整功能 |
还是搞不清楚什么是Qt Quick和QML,想一想C++跟Qt的关系吧,它们类似于QML和Qt Quick的关系。
三、结论
QML ≠ Qt Quick:QML 是界面描述的语言规范,Qt Quick 是建立在 QML 之上的完整技术框架。
协作关系:开发者用 QML 编写界面,通过 Qt Quick 框架实现功能(如动画、数据绑定),二者共同构成现代 Qt 界面开发的核心