初识QML

简介: 简述QML 是一种声明性语言,允许根据用户界面的可视组件以及它们如何相互交互和相互关联来描述用户界面。QML 是一种高度可读的语言,旨在使组件能够以动态方式互连,并且允许组件在用户界面中轻松重复使用和自定义。使用 Qt Quick,开发人员可以轻松地在 QML 中构建流体动画用户界面,并且可以选择将这些用户界面连接到任何后端 C++ 库。简述什么是 QM

简述

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)。

目录
相关文章
|
2月前
|
开发框架 JSON JavaScript
Qt Quick 和qml介绍
Qt Quick 和qml介绍
28 2
|
3月前
|
开发框架 数据可视化 JavaScript
qt编程---->qml
qt编程---->qml
|
4月前
Qt6自定义QML控件的方式
Qt6自定义QML控件的方式
72 1
|
7月前
|
Python
PyQt5-Qt Designer中如何设置信号与槽?
PyQt5-Qt Designer中如何设置信号与槽?
73 0
|
11月前
|
C++
QT之Qml使用QSystemTrayIcon实现系统托盘
QT之Qml使用QSystemTrayIcon实现系统托盘
【QML】QML与C++混合编程
【QML】QML与C++混合编程
Qt qml 下使QtCharts
欢迎来到我的博客,希望这篇文章对你有所帮助,如果觉得不错,请点赞搜藏哈。
238 0
Qt qml 下使QtCharts
|
前端开发 JavaScript 数据处理
Qt-QML-QML调用C++类
Qt-QML-QML调用C++类
146 0
Qt-QML-QML调用C++类
Qt-QML-关于两个平级的qml文件中的函数调用问题
Qt-QML-关于两个平级的qml文件中的函数调用问题
249 0
Qt-QML-关于两个平级的qml文件中的函数调用问题