当前位置:   article > 正文

QML(1): 什么是QML

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.15

Rectangle { 
	id: rect 
	color: "black"

	MouseArea {
		id: mouse 
		anchors.fill:parent
		onClicked: {
			fun();
		}
	}
	// javascript代码
	function fun() { 
		if(rect.color == "#000000") { 
			rect.color = "red" 
		}
		else {
			rect.color = "black" 
		}
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

四、察看QML视图效果

  要查看创建的内容,可以使用qmlscene工具(位于bin目录中),并以文件名作为第一个参数。 QML的基本学习可以用记事本来编写代码,并用qmlscene工具来察看效果,不必启用qcreator。

例如,在控制台输入:

qmlscene my.qml

]


总结

QML 只能用来进行界面设计和人机交互,也就是只能胜任 UI 部分,在底层仍然需要调用 C++ 编写的组件来完善功能 。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/117437
推荐阅读
相关标签
  

闽ICP备14008679号