QML(1): 什么是QML
文章目录
- 前言
- 一、QML 是什么?
- 二、Qt Quick 又是什么?
- 三、简单代码示例
- 四、察看QML视图效果
- 总结
前言
QML 早已经不限于开发手机应用,也可以支持用户开发传统的桌面程序。Qt5 将 QML 脚本编程提到与传统 C++ 部件编程相同的高度,开始力推 QML 界面编程。
使用 QML 开发界面主要有以下几个优点:
1) QML 非常灵活,可以做出非常炫酷的效果,例如 QQ、360、迅雷等都不在话下。
2) QML 是标记语言,见名知意,非常容易编写和阅读,大大提高了开发和维护效率。
3) QML 界面简洁大气,有很多动画,适合移动端。
4) 不同平台下的 QML 使用相同的渲染机制,界面效果一致,不会随操作系统的不同而变化。
一、QML 是什么?
QML是一种描述性的脚本编程语言 (什么东西长什么样子,可以干啥)
文件格式以.qml结尾。语法格式类似于JSON的语法
QML可以在脚本里创建图形对象,并且支持各种图形特效,以及状态机等QML是一个用户接口规范
支持与JavaScript表达式相结合来达到动态属性的绑定。
支持JavaScript文件的导入,并使用这些导入的功能。
支持与Qt写的C++代码进行方便的交互,使用起来非常方便。
二、Qt Quick 又是什么?
Qt Quick是QML类型与功能标准库。它包括可视化类型,交互类型,动画。模型和视图。粒子效果和着色效果。
Qt Quick之于QML,正如Qt 之于 C++,QML是Qt中开发的一个新的语言,而Qt Quick是这个语言的一个组件库,其中包含了很多用QML语言写的可以现成使用的组件。
三、简单代码示例
下面的代码使用JavaScript,实现了当方块颜色是黑色的时候点击就变红,反之变黑。
代码如下(示例):
来自百度百科——QML
import QtQuick 2.15Rectangle { id: rect color: "black"MouseArea {id: mouse anchors.fill:parentonClicked: {fun();}}// javascript代码function fun() { if(rect.color == "#000000") { rect.color = "red" }else {rect.color = "black" }}
}
四、察看QML视图效果
要查看创建的内容,可以使用qmlscene工具(位于bin目录中),并以文件名作为第一个参数。 QML的基本学习可以用记事本来编写代码,并用qmlscene工具来察看效果,不必启用qcreator。
例如,在控制台输入:
qmlscene my.qml
]
总结
QML 只能用来进行界面设计和人机交互,也就是只能胜任 UI 部分,在底层仍然需要调用 C++ 编写的组件来完善功能 。
QML(1): 什么是QML相关推荐
- QML 编程之旅 -- QML程序的基本结构概念
文章目录 QML 文档的构成 QML基本语法 QML 编程之旅 – QML程序的基本结构概念 学习Qt编程快近一年了,的确是项目驱动,让我不得不咬紧牙关,需要快速的学习掌握一门新的技术.编程是一个非常 ...
- QML官方系列教程——QML Applications
附网址:http://qt-project.org/doc/qt-5/qmlapplications.html 假设你对Qt的官方demo感兴趣,能够參考本博客的另一个系列Qt5官方demo解析集 每 ...
- QML学习笔记-对QML基本认识
首先是QML与Qt Quick的关系: 这就相当于C++与Qt的关系: 只是一个语言和框架的关系 从Qt 5.1开始,Qt Quick引入了一组界面控件,使用这些控件可以更简单地创建传统桌面应用.这些 ...
- QML学习系列-Qt QML是什么?
Qt QML是一个用于创建用户界面(UI)和应用程序逻辑的声明性语言.它是Qt框架的一部分,用于开发跨平台的应用程序,可运行于Windows.MacOS.Linux.Android.iOS等平台上. ...
- qml 自定义消息框_Qt qml 自定义消息提示框
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/a844651990/article/d ...
- QML笔记-JavaScript在QML中的使用(直接调用和间接调用)
目录 基本概念 代码与实例 基本概念 ECMA-Script ES5 1. ECMA-Script ES5适用于编写QML应用程序. 2. 这个与在浏览器里面额JavaScript不同. 3. 没有提 ...
- C++与QML交互(信号与槽通知QML,C++注册QML,QML结点映射C++类)
运行截图如下: 源码如下: data.h #ifndef DATA_H #define DATA_H#include <QObject>class Data : public QObjec ...
- Qt文档阅读笔记-C++与QML混合编程(QML画饼状图)【通过信号与槽交互】
这里只点名一点: Qt Charts是利用Qt的图形视图框架(QGraphics)搞出来的,底层并不是用OPenGL,而QML却与OPenGL的底层紧密关联 运行截图如下: 源码如下: widget. ...
- Qt工作笔记-第一个QML(QQuickView显示QML文件)
程序运行截图如下: 程序结构如下: 代码如下: main.cpp #include <QApplication> #include <QDir> #include <QQ ...
- c++ qml 数组_【QML与C++混合编程】用QVariantList传递数组类型成员
2017.5.8 更新:Record类要用指针,QObject 不能有拷贝函数. 我有一个C++中自定义的ReaderModel,继承自QAbstractListModel类,传递给了QML. 它的m ...
最新文章
- sqlserver 新建只读权限用户
- 二叉树的链式存储结构--二叉链表
- python—多线程之数据混乱问题
- Redis:07---Redis数据结构
- python爬虫动态解析js_Python爬虫实战入门五:获取JS动态内容—爬取今日头条
- 高颜值免费在线SCI绘图工具支持导出PPT格式图片和图片分享功能
- Quartz框架调用Demo
- java 报表 存储过程_快逸报表数据集类型采用存储过程介绍
- 原生js获取html根元素,JS获取屏幕高度的简单实现代码
- 国际短信平台哪家好?
- 免费的18个开源快速建站Java CMS
- python中np是什么意思_了解python中np是做什么的
- C语言题目:5-6 购物(一) (25 分)
- 【人工智能】2.博弈问题、博弈搜索策略
- Phoenix重磅 | Phoenix核心功能原理及应用场景介绍
- {转}tbl语言简介
- 图神经网络-图与图学习笔记-1
- 魔兽世界中的英文简写
- P1873 砍树(二分答案)
- 回归算法-线性回归分析-正规方程和梯度下降
热门文章
- 札记__quick 2.2.5To3.2
- Mac 中将脚本封装为 App
- 中国九大港口指标数据合集(2005-2019年)
- 工业路由器下的智慧园林监测解决方案
- ERROR:function cannot execute on a QE slice/Greenplum 错误解决
- 股票助手-您的理财好帮手
- BISTU-(1)-4-17-2016
- linux脚本获取日期格式,关于shell脚本中的bash:yyyy-mm-dd格式日期
- 【好文鉴赏】初创公司到底值不值得去?从以下几点考虑
- BT(二)A2DP、AVRCP