QML应用程序
QML是一种声明性语言,它允许根据用户界面的可视组件以及它们如何相互交互和相互关联来描述用户界面。它是一种高度可读的语言,旨在使组件能够以动态方式互连,并且允许组件在用户界面中轻松重复使用和自定义。使用QtQuick
模块,设计人员和开发人员可以轻松地在QML中构建流体动画用户界面,并且可以选择将这些用户界面连接到任何后端C++库。
什么是QML?
QML是一种用户界面规范和编程语言。它允许开发人员和设计师创建高性能,流畅的动画和视觉吸引人的应用程序。QML提供了高度可读性,声明性,类似JSON的语法,支持命令式JavaScript表达式和动态属性绑定。
QML语言和引擎基础结构由Qt QML模块提供。有关QML语言的深入信息,请参阅Qt QML模块文档。
以下页面包含有关QML的更多信息:
- 使用QML的第一步 - 使用这些示例开始使用QML
- 在Qt Creator中创建Qt快速项目
- QML参考 - 关于QML构造和功能的参考
- QML编码约定
- QML条款词汇表
什么是Qt Quick?
Qt Quick是QML的类型和功能的标准库。它包括视觉类型,交互式类型,动画,模型和视图,粒子效果和着色效果。QML应用程序开发人员可以使用单个import语句访问所有的功能。
QtQuick
QML库由Qt Quick模块提供。有关Qt Quick提供的各种QML类型和其他功能的详细信息,请参阅Qt Quick模块文档。
QML User Interfaces
为了创建或自定义图形用户界面,除了来自Qt QML的标准QML类型,Qt Quick还添加了视觉类型,动画类型和其他QML类型。Qt Quick Designer集成在Qt Creator中,并支持Qt Creator 2.7及更高版本中的QtQuick 2
。
- Visual types in QML
- Responding to User Input in QML
- Animations in QML
- Displaying Text in QML
- Layouts in QML
- Style and Theme Support
- Integrating JavaScript in QML
- Scalability
Buttons, Menus, and other Controls
对于一组基本的UI控件,Qt Quick Controls模块实现了几个控件,如按钮,菜单和视图。这些控件模仿在不同平台(如Windows,macOS和Linux)中发现的本机行为。
Special Effects
几个Qt模块提供了在应用程序中创建特殊效果的类型。他们各自的页面包含更多关于具体用途的信息。
- Particle Effects
- Graphical Effects - for creating image composition effects.
在QML应用程序中查看Web内容
QML类型WebEngineView和WebView,呈现和显示动态Web内容。两者之间的唯一区别是后者使用本地Web视图(如果可用)。这两种类型都可以加载URL或HTML字符串。要了解更多信息并查看代码示例,请参阅Qt WebEngine和Qt WebView。
Sensors, Gestures, and Touch Interfaces
Qt传感器模块允许应用程序从传感器(如加速度计和倾斜传感器)读取信息。针对不同平台有一个常见的QML API,可以在C中扩展。
- Qt Sensors QML Types
- Qt Sensors Examples
- Compatibility Map - lists support level for different mobile platforms
Multimedia Content
Qt多媒体模块使应用程序能够使用一组方便的QML类型处理各种媒体内容。These QML types can be extended in C++.
- Multimedia
- Audio Overview
- Video Overview
- Camera Overview
- Radio Overview
- Qt Audio Engine - for 3D positional audio playback and content management.
Mobile Devices
几个Qt模块为联网和移动设备提供QML API。QML类型提供对蓝牙,近场通信(NFC)和支持GPS的设备的访问。
Code Samples and Demos
要了解有关使用QML代码的更多信息,有几个代码示例显示如何使用QML类型。此外,还有几个演示显示如何在应用程序中使用QML代码。
- Getting Started Programming with Qt Quick - a tutorial showing the creation of a simple QML text editor.
- Qt Quick Examples and Tutorials
高级应用程序开发主题
- Deploying QML Applications
- Performance Considerations and Suggestions
- Internationalization and Localization
- Testing and Debugging
Other QML Modules
Qt Quick仅提供基本的可视类型,Qt的许多功能通过其他模块暴露给QML。如果您需要这些模块的功能,您应该浏览他们的QML文档。
模块的所有QML API包含Qt 5中所有QML模块的列表。