初识QML

原创 2017年01月06日 19:00:59

简述

QML 是一种声明性语言,允许根据用户界面的可视组件以及它们如何相互交互和相互关联来描述用户界面。QML 是一种高度可读的语言,旨在使组件能够以动态方式互连,并且允许组件在用户界面中轻松重复使用和自定义。

使用 Qt Quick,开发人员可以轻松地在 QML 中构建流体动画用户界面,并且可以选择将这些用户界面连接到任何后端 C++ 库。

版权所有:一去丶二三里,转载请注明出处: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)。

版权声明:进步始于交流,收获源于分享!纯正开源之美,有趣、好玩、靠谱。。。作者:一去丶二三里 博客地址:http://blog.csdn.net/liang19890820

相关文章推荐

Qt Widgets、QML、Qt Quick的区别

看了之前关于 QML 的一些介绍,很多人难免会有一些疑惑: Q1:QML 和 Qt Quick 之间有什么区别? Q2:QtQuick 1.x 和 QtQuick 2.x 之间有什么区别? Q3:为什...

创建Qt Quick项目

要开发 QML 程序,首先要选择一款合适的工具。Qt Creator 作为 Qt 开发的首选工具,当然,也可用于 Qt Quick。 在使用 Qt Creator 创建 Qt Quick 项目时有很...

QML基础——初识Qt Quick Designer

转自:http://www.cnblogs.com/hicjiajia/archive/2012/01/30/2332219.html   在对Qt Quick和QML有了一些了解后,...
  • fqx111
  • fqx111
  • 2013年06月04日 10:34
  • 611

初识MyBatis

  • 2017年06月30日 15:44
  • 572KB
  • 下载

初识java笔记

  • 2015年08月09日 12:58
  • 715KB
  • 下载

FusionCharts绘图插件(一)——初识fusioncharts

做项目完成数据统计的时候,需要将统计数据进行图形化分析,也就是将数据做成各种图表,即柱状图和折线图,由此接触了FusionCharts绘图插件,经过多日的查询资料和做Demo,终于将项目功能完成,特此...

Robotium环境搭建和初识

  • 2015年10月26日 10:31
  • 600KB
  • 下载

以小程序初识tp5.rar

  • 2017年10月26日 21:28
  • 413KB
  • 下载

初识OKhttp框架(下)线程通讯

线程通讯因为OKhttp是不能在UI线程中执行的,所以每一次网络请求都需要新建一个线程,可是新建线程后,在子线程里想要更新UI界面怎么办呢?就用到了这么一个知识点,线程通讯。子线程传给UI线程的方式N...

RecycleView初识

  • 2015年09月08日 16:54
  • 2.82MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:初识QML
举报原因:
原因补充:

(最多只允许输入30个字)