QML 应用程序
QML 是一种声明式语言,可通过可视化组件以及组件之间的交互和关联来描述用户界面。它是一种可读性很强的语言,旨在使组件以动态的方式相互连接,并允许组件在用户界面内轻松地重复使用和定制。使用QtQuick
模块,设计人员和开发人员可以轻松地用 QML 构建流畅的动画用户界面,并可将这些用户界面连接到任何后端 C++ 库。
什么是 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 的更多信息:
- 使用 QML 的第一步- 通过这些示例开始使用 QML
- Qt Creator:创建Qt Quick 应用程序
- QML 参考- 有关 QML 结构和功能的参考资料
- QML 编码约定
- QML 术语表
- 按模块分列的所有 QML API
什么是Qt Quick ?
Qt Quick 是 QML 类型和 QML 功能的标准库。它包括视觉类型、交互类型、动画、模型和视图、粒子效果和着色器效果。QML 应用程序开发人员只需使用一条导入语句,就能访问所有这些功能。
QtQuick
QML 库由 Qt Quick模块提供。有关Qt Quick 提供的各种 QML 类型和其他功能的详细信息,请参阅模块文档。 Qt Quick模块文档。除了来自 Qt QML 的标准 QML 类型外,Qt Quick 还添加了可视化类型、动画类型和其他 QML 类型。
按钮、菜单和其他控件
对于一组用户界面控件,QML Qt Quick Controls模块实现了多种控件,如按钮、菜单和视图。这些控件有几种可使用的内置样式,还支持创建自定义样式。
Qt Quick 应用程序开发
Qt CreatorQt VS 工具内置了对创建Qt Quick 应用程序的支持。Qt VS Tools和Qt Extension for VS Code还允许您使用 Visual Studio 和 Visual Studio Code 创建Qt Quick 应用程序。QML Language Server 可在任何支持语言服务器协议的集成开发环境中使用。
对于以设计为中心的工作流程,请使用Qt Design Studio 。
有关创建Qt Quick 应用程序的更多信息,请访问以下页面:
代码示例和演示
要了解 QML 代码的更多用途,有几个代码示例可显示 QML 类型是如何使用的。此外,还有几个演示,展示如何在应用程序中使用 QML 代码。
- Qt Quick 编程入门- 演示创建简单 QML 文本编辑器的教程。
- Qt Quick 示例和教程
高级应用程序开发主题
- 概述 - QML 与 C++ 的集成
- 部署 QML 应用程序
- Qt Quick Compiler
- QML 和 C++ 的最佳实践Qt Quick
- QML 性能考虑因素和建议
- 国际化和本地化
- 测试和调试
相关主题
© 2025 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.