初识QML
2017-01-06 19:00
211 查看
简述
QML 是一种声明性语言,允许根据用户界面的可视组件以及它们如何相互交互和相互关联来描述用户界面。QML 是一种高度可读的语言,旨在使组件能够以动态方式互连,并且允许组件在用户界面中轻松重复使用和自定义。使用 Qt Quick,开发人员可以轻松地在 QML 中构建流体动画用户界面,并且可以选择将这些用户界面连接到任何后端 C++ 库。
简述
什么是 QML
什么是 Qt Quick
QMLQt Quick 总结
开发工具
版权所有:一去丶二三里,转载请注明出处:http://blog.csdn.net/liang19890820
什么是 QML?
QML 是一种用户界面规范和编程语言。它允许开发人员和设计师创建高性能、流畅的动画和视觉吸引人的应用程序。QML 提供了一种高度可读、声明性、类似 JSON 的语法,支持与动态属性绑定相结合的命令式 JavaScript 表达式。QML 全称:Qt Meta Language 或 Qt Modelling Language,主要包含以下特征:
像脚本语言一样定义界面的元素
是对 ECMAScript 标准的扩展(参见:JavaScript)
提供了建立一颗 QML 元素对象树的机制
支持 QML 元素和基于 QObject 的 C++ 对象之间的交互
QML 包含了一套 QML 元素
图形的和行为的基础组成部分
可以通过 QML 文档来建立更加复杂的元件和 QML 应用
可以用来对现有程序扩充,或是编译一个全新的程序
QML 可以使用 C++ 完全扩展
什么是 Qt Quick?
Qt Quick 是 QML 类型和功能的标准库。包括视觉类型、交互式类型、动画、模型和视图、粒子效果和着色效果,可以使用单个 import 语句访问所有功能。Qt Quick 全称:Qt User Interface Creation Kit,主要包含以下特征:
一个为创建更好的界面的高级 UI 技术
无需掌握 C++ 技术,JavaScript 知识会有不少帮助
针对界面设计人员和开发者
使设计师和开发人员“说同样的语言”
双方可以同时参与迭代开发
无需单独的 Flash 或 PPT UI 原型
设计人员用 Qt Quick,我猜一定是想多了,“自娱自乐”下就行!
QML/Qt Quick 总结
Qt 的 meta-object 系统提供了 QML 和 C++ 关联的机制Qt 属性机制
信号与槽机制
QML 为开发人员预定义了一套类型
可以很容易的使用 QML 进行扩展
可以使用 C++ 进行扩展
Qt Quick 用来为开发人员设计 Qt 应用程序的可视化界面
了解 JavaScript(+ HTML + CSS)是学习 QML 的前提条件,虽然没有严格的要求,但还是建议掌握。
开发工具
Qt Creator 是 Qt 开发的首选工具,当然,也可用于 Qt Quick。Qt 提供了一个 qmlscene 工具(Qt 4.x 为 qmlview),用于运行单独的 QML/JavaScript 程序。
让我们可以直接查看 qml 文件,而不必将其加载到 Qt 应用中。
主要是用于开发测试
提供了一种“dummy”机制,动态的为 QML 提供数据
最终的数据将由 Qt/C++ 代码所提供
注意:要将 QML/Qt Quick 界面嵌入到 Qt/C++ 应用程序中,需要使用 Qt4.7 及以上版本(最新官方版本 Qt 5.7)。
相关文章推荐
- QT学习 第一章:基本对话框
- 使用Shiboken为C++和Qt库创建Python绑定
- windows用windeployqt发布qt quick application程序
- Qt 5.6更新至RC版,最终版本近在咫尺
- linux中 qt5 的环境搭建
- Qt定时器和随机数详解
- Qt实现图片移动实例(图文教程)
- C++ Qt属性系统详细介绍
- Qt for Android开发实例教程
- Qt qml中listview 列表视图控件(下拉刷新、上拉分页、滚动轴)
- QModelIndex/Role/Model介紹<二>
- QML的import目录爬坑记录
- Qt Model/View/Delegate浅谈 - QAbstractListModel
- Qt Model/View/Delegate浅谈 - roleNames()
- QT历程(一):与CryptoJs对应的AES加密
- 基于PyQt5的快速开发框架QFramer
- OSX下安装PyQt
- ok6410开发板移植DirectFB手记
- 【笔记】给Qt内嵌一个Chrome吧