本文翻译自Qt官方文档:
http://doc.qt.io/qt-5/qmlapplications.html
QML 应用
QML是声明式语言,它使得用户界面以及交互行为可以被“描述”出来。这是一种可读性非常高、动态互联其中的构件的语言,并且它允许构件可以非常容易的被重用和界面自定义。使用QtQuick模块,设计者和开发者可以使用QML开发流畅的动画界面,也可以选择将用户界面与后端的C++库连接起来。
什么是QML?
QML是用户界面规范与编程语言。它使得开发者和设计者可以开发出高性能,流畅动画、美观的应用。QML提供高可读性,声明式的,语法类似 JSON 的、支持命令式的 JavaScript 表达式与动态属性绑定。
QML语言以及引擎架构由 Qt QML 模块提供。更多介绍参见 Qt QML 文档。
下面这些页面包含了更多QML说明:
- 使用QML第一步 —— 通过这些实例程序来开始了解QML
- 在 Qt Creator 中创建 Qt Quick 项目
- QML 帮助文档 —— QML的结构和特性说明
- QML 编码约定
- QML 术语表
什么是 Qt Quick?
Qt Quick 是QML的类型和功能标准库。 它包含了虚类型,交互类型,动画,模型和视图,材质特效和阴影特效。一个QML应用开发者使用一句简单的语句即可使用所有这些功能。
Qt Quick QML库由 QtQuick 模块提供,Qt Quick 模块文档包含了更多关于QML类型和别的功能的描述。
QML用户界面
为了创建一个自定义的图形用户界面,除了QML标准类型意外,QtQuick 还从Qt QML中添加了类型、动画类型,以及其他QML类型。 Qt Quick Designer 集成在了 Qt Creator 中,它支持 QtQuick 2、QtCreator 2.7 。
- QML中的虚类型
- QML中响应用户输入
- QML中的动画
- 在QML中显示文本
- QML中的布局处理器
- 风格和主题支持
- 在QML中集成 JavaScript
- 缩放
按钮、菜单、以及其他控件
基本 UI 控件中, Qt Quick 控件模块实现了许多诸如按钮、菜单、视图。 这些控件会模仿不同平台(windows,mac,Linux)的原生风格。
- Qt Quick 控件概览
- 风格
- 对话框
- 布局
- 其他
特效
一些Qt模块提供了创建特效的类型,详细信息参看:
- 材质效果
- 图形效果 —— 创建图片特效
在QML应用中浏览网页内容
QML类型:WebEngineView 和 WebView ,可以渲染并且显示动态网页内容。它俩之间唯一的不同就是:如果允许,那么WebView会使用原生的网页视效。这两种类型都可以加载URL和HTML字符串信息。更多示例程序和信息,参见 Qt WebEngine 和 Qt WebView。
传感器、收拾和触摸屏界面
Qt Sensors 模块允许程序读取来自传感器中的信息,比如加速器、倾斜测量仪。这些QML API 对于不同平台都提供了,并且可以使用C++来拓展。
- Qt Sensors QML类型
- Qt 传感器 示例程序
- 通用地图 —— 列出了不同手机平台支持的级别。
多媒体内容
Qt Multimedia 模块使程序可以通过使用一个方便的QML类型集合来处理各种多媒体内容。这些QML类型也可以使用C++进行拓展。
- 多媒体
- 声音
- 视屏
- 摄像头
- 广播
- Qt Audio Engine —— 3D环绕声和内容管理
移动设备
一些Qt模块为网络和移动设备提供了 QML API 支持。 QML类型提供对蓝牙、短距离通信(NFC),和GPS的设备的支持。
- Qt 定位
- Qt 方位
- Qt 蓝牙
- Qt 短距离通信
更多参见:网络和连接、移动API页面。
代码示例和程序示例
更多QML代码,演示如何使用QML类型,另外,还有很多程序示例演示如何在应用程序中使用QML代码。
- 从使用Qt Quick开始 —— 一个简单的QML编辑器教程
- Qt Quick 示例和教程
高级应用开发部分
- 发布QML程序
- 性能表现的思考与建议
- 国家化与区域
- 测试与调试:
- qmlscene 雏形
- 调试QML程序
- Qt Quick测试:QML单元测试框架
其他一些QML模块
Qt Quick 只提供了一些基本的虚类型,很多Qt的功能都通过别的模块暴露给了QML。如果你要用到这些功能,你需要参考他们的QML文档。
所有QML模块API 包含了Qt5中QML的模块列表。
相关话题
把QML应用移植到Qt5