Qt 5.7 > Qt Applications
本文翻译自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
Qt 5.7 > Qt Applications的更多相关文章
- Qt... configure: error: Qt (>= Qt 2.2.2) (headers…
		
转载:http://blog.chinaunix.net/uid-23733724-id-290980.html 昨天开始在自己的fedora12下装qt~ 但是按照教程在/opt/Embed ...
 - Qt环境搭建(Qt Creator)+Visual Studio
		
1.http://www.cnblogs.com/ranjiewen/p/5318768.html 简述 经常有人问我编写Qt程序时使用什么IDE,其实这个真的很难回答(各有所长),只能说看个人爱好了 ...
 - Qt Creator提示"Qt没有被正确安装,请运行make install"的解决办法
		
笔者最近使用Qt在开发一些小程序,觉得这个框架设计确实很好,使用了信号和槽解决了组件之间的通讯问题,可以说是基于C++语言上一个非常大的创新,大大提高了开发人员的编码效率,也使整个C++语言更加抽象. ...
 - Qt学习记录--Qt::CaseSensitive
		
Qt::CaseSensitivity 为枚举类型, 可取值Qt::CaseSensitive 和 Qt::CaseInsensitive, 表示匹配的灵敏度. 比较字符串的时候 Qt::CaseSe ...
 - qt widget设置Qt::FramelessWindowHint和Qt::WA_TranslucentBackground, 会出现一个bug: 在最小化后还原时界面停止刷新
		
qt widget设置Qt::FramelessWindowHint和Qt::WA_TranslucentBackground, 会出现一个bug: 在最小化后还原时界面停止刷新 Widget wit ...
 - 【Qt】关于Qt【转】
		
什么是Qt Qt是一个针对桌面.嵌入式.移动设备的一个跨平台的应用程序开发框架,支持的平台包括Linux.OS X.Windows.VxWorks.QNX.Android.iOS.BlackBerry ...
 - :: error:  无法打开文件“d:\Qt\2010.05\qt\lib\qtmaind.lib”
		
新建一个工程马上编译也会出现这个错误:: error: 无法打开文件“d:\Qt\2010.05\qt\lib\qtmaind.lib” vc的编译器, 而你安装的是mingw版本的qt. 工具-选项 ...
 - Qt on Android:让 Qt Widgets 和 Qt Quick  应用全屏显示
		
Android 系统版本号非常多,较新的 4.4 ,较老的 2.3 ,都有人用. Qt on Android 开发的 Android 应用.默认在 Android 设备上是非全屏的. 而有些应用的需求 ...
 - Qt入门学习——Qt 5 帮助文档的使用
		
Qt入门学习——Qt 5 帮助文档的使用 学习图形界面开发,肯定离不开帮助文档的使用,因为它不像 C 语言那样就那么几个函数接口,图形接口的接口可以用海量来形容,常用的我们可能能记住,其它的真的没有必 ...
 
随机推荐
- knn分类算法学习
			
K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一.该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的 ...
 - 关于JAVA中split方法使用竖线异常的问题
			
split表达式,其实就是一个正则表达式. * ^ | 等符号在正则表达式中属于一种有特殊含义的字符,如果使用此种字符作为分隔符,必须使用转义符即\\加以转义.不然分割的结果就不是你想要的.
 - 使用redis缓存数据需要注意的问题以及个人的一些思考和理解
			
之前我有博客也尝试过使用redis,在实际的项目中确实作用挺大的.至少对于数据的频繁读取来说都起着至关重要的作用. 但是随着技术的学习,慢慢的业务要复杂起来,以后也许会用到redis集群,所以在这边查 ...
 - 记一次kali和win8.1的双系统修复!!
			
简要情况: 原来电脑存在的系统:win7和kali. 后来的系统:win8.1和原本的kali 情况描述:在我装完win8.1后就直接启动到win8.1了没有了grub2的选择启动界面,但是我还是想要 ...
 - 【Excel】Excel筛选迟点时间的公式
			
效果是这样: 方法: 在B列第2排,输入=if(HOUR(A2) >=9,"迟点","") 然后就是复制,粘贴整个列就OK了.不想复制也可以按住的右下角那 ...
 - ipad 横屏 竖屏 CSS
			
/* iPads (landscape) ----------- */ @media only screen and (min-device-width : 768px) and (max-devic ...
 - [Q]打印机页边距设置
			
问题描述:当您在使用CAD批量打图精灵默认设置打印图纸(使用pdfFactory虚拟打印机),可能会发现打印出的图纸页边距比您手工打印(使用Adobe或系统打印机)的要偏大. Adobe虚拟打印机打印 ...
 - C++类继承中,基类/当前对象属性/当前对象的构造顺序
			
[1]中提到,规范的派生类构造函数三个要点: 首先创建基类对象 应通过成员初始化列表,创建基类对象 应该初始化本派生类新增的成员变量 那在构造派生类实例的过程中,其基类(以及多继承的时候多个基类)/当 ...
 - API HOOK和PE文件的关系
			
api hook技术的难点,并不在于hook技术,而在于对PE结构的学习和理解.如何修改api函数的入口地址?这就需要学习pe可执行文件(.exe,.dll等)如何被系统映射到进程空间中,这需要学习p ...
 - Scala Singleton对象
			
Scala Object: scala没有静态的修饰符,例如Java中的static.但是Scala提供了Object类型,object下的成员都是静态的,比较像Java的静态类.不同在于Scala的 ...