Qt Quick 应用程序入门
QML 是一种声明式语言,允许通过视觉组件及其相互交互和关联的方式来描述用户界面。 这是一种可读性极高的语言,其设计初衷是让组件能够以动态方式相互连接,并允许在用户界面中轻松复用和定制组件。借助QtQuick 模块,设计师和开发者可以轻松地在QML中构建流畅的动画用户界面,并可选择将这些用户界面连接到任何后端C++库。
Qt Academy 课程
建议学习以下 Qt Academy 课程,以入门 QML 和Qt Quick 。
基础课程
中级课程
什么是 QML?
QML 是一种用户界面规范和编程语言。它使开发人员和设计师都能创建高性能、动画流畅且视觉效果出色的应用程序。QML 提供了一种可读性极高、声明式的、类似 JSON 的语法,同时支持命令式的 JavaScript 表达式,并结合了动态属性绑定。
import QtQuick
import QtQuick.Controls
ApplicationWindow {
width: 400
height: 400
visible: true
Button {
id: button
text: "A Special Button"
background: Rectangle {
implicitWidth: 100
implicitHeight: 40
color: button.down ? "#d6d6d6" : "#f6f6f6"
border.color: "#26282a"
border.width: 1
radius: 4
}
}
}QML 语言和引擎基础设施由 Qt Qml 模块提供。有关 QML 语言的深入信息,请参阅 Qt Qml 模块文档。
以下页面包含有关 QML 的更多信息:
- Qt Creator: 创建Qt Quick 应用程序
- Qt Extension for Visual Studio Code:教程:Qt Quick 应用程序
- QML入门——通过这些示例开始使用QML
- QML术语表
- QML 参考手册——关于 QML 语法结构和功能的参考资料
- QML 编码规范
- 按模块分类的全部 QML API
什么是Qt Quick ?
Qt Quick 是 QML 的标准类型和功能库。它包含视觉类型、交互类型、动画、模型与视图、粒子效果以及着色器效果。QML 应用程序开发者只需一条 import 语句,即可访问所有这些功能。
QtQuick QML 库由 Qt Quick 模块提供。有关Qt Quick 提供的各种QML类型及其他功能的详细信息,请参阅 Qt Quick 模块文档。Qt Quick 除了Qt Qml 提供的标准 QML 类型外,还增加了视觉类型、动画类型及其他 QML 类型。
按钮、菜单及其他控件
对于一组 UI 控件, Qt Quick Controls 模块实现了若干控件,例如按钮、菜单和视图。这些控件自带多种可用的内置样式,同时也支持创建自定义样式。
Qt Quick 应用程序开发
Qt Creator 内置了创建Qt Quick 应用程序的支持。 Qt VS Tools 此外,Qt Extension for Visual Studio Code还允许您使用 Visual Studio 和 Visual Studio Code 创建Qt Quick 应用程序。QML Language Server 可用于任何支持语言服务器协议的 IDE。
若需以设计为中心的工作流,请使用Qt Design Studio 。
有关创建Qt Quick 应用程序的更多信息,请访问以下页面:
代码示例和演示
若要进一步了解 QML 代码的用法,有多个代码示例展示了 QML 类型的使用方式。此外,还有多个演示程序展示了 QML 代码在应用程序中的应用。
- Qt Quick 编程入门:闹钟应用程序——本教程演示了如何创建一个简单的闹钟应用程序。
- Qt Quick 示例与教程
高级应用程序开发主题
相关主题
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.