QML入门教程(1)
来源:互联网 发布:linux vi修改文件 编辑:程序博客网 时间:2024/06/05 08:25
QML是什么?
QML是一种描述性的脚本语言,文件格式以.qml结尾。语法格式非常像CSS(参考后文具体例子),但又支持javacript形式的编程控制。 它结合了QtDesigner UI和QtScript的优点。QtDesigner可以设计出.ui界面文件,但是不支持和Qt原生C++代码的交互。QtScript可以和Qt原生代码进行交互,但是有一个缺点,如果要在脚本中创建一个继承于QObject的图形对象非常不方便,只能在Qt代码中创建图形对象,然后从QtScript中进行访问。而QML可以在脚本里创建图形对象,并且支持各种图形特效,以及状态机等,同时又能跟Qt写的C++代码进行方便的交互,使用起来非常方便。
如何使用?
不过本文不会去介绍如何在Qt C++中使用QML,而是把重点放在QML的语法上,不过别担心看不到.qml文件的效果。Qt提供了一个工具QML Viewer可以查看.qml文件生成的效果,该程序在Qt的bin目录下,应用名字叫qml(Windows下叫qml.exe)。所以你在看到别人提供的.qml文件时,你可以用下面命令qmlscene filename.qml 查看.qml的执行结果,咱们的第一个Hello,World生成界面如下
开始QML吧
上面的Hello,World源代码如下
第1行是Qt QML的统一用法,指明当前QML会使用Qt-4.7里已经定义好的类型,比如第3行的Rectangle和第8行的Text。第3行开始至文章结束处则定义了一个矩形的图形区域对象,第4行则申明了该矩形区域对象的id为”page”可以被其它对象识别并通过该id访问其成员属性,另外几个属性width/height/color则很好理解,语法跟CSS类似,可以写在一行中用分号”;”隔开。第8行至第12行则是一个文本对象,看它代码的嵌套结构可以知道它是内嵌于Rectangle的。Text的属性除了anchors其它几个都能顾名思义。anchors描诉的是当前对象的位置和其它对象的相对关系,这里看到其水平中心位置在“page“的水平中心位置。如果想对anchors了解更多,请参考锚的解释。
以上就是Hello,World的全部代码,将其存为hellowordl.qml,那么只要执行qmlscene hellowrold.qml就能看到文章前头的界面了。
bzr branch lp:~liu-xiao-guo/debiantrial/hello1
更多对象?
在上面的代码中我们用到了Rectangle和Text,那么我还有哪些对象以及这些对象有哪些属性呢。那么请访问QML-Item类,Item类是QML最基础的类,通过查看它的继承类以及这些继承类可用的属性,你可以添加更多你感兴趣的内容。
好吧, Happy QML。
- QML入门教程(1)
- QML入门教程(1)
- QML入门教程(1)
- QML入门教程(1)
- QML入门教程
- QML入门教程(2)
- QML入门教程(3)
- QML入门教程(2)
- QML入门教程(3)
- QML入门教程(2)
- QML入门教程(3)
- QML基础——入门教程
- QML基础——入门教程
- QML基础——入门教程
- QML学习(1)
- QML for QT 1
- qml
- QML
- 6147问题
- HDFS小文件问题及解决方案
- oracle--PL/SQL基础 Procedure Language & Structured Query Language
- linux--rm(移除档案或目录)
- TCP和UDP
- QML入门教程(1)
- 74个Swift标准库函数
- 如何控制表单内tab键切换的顺序
- js捕获和冒泡
- mysql 自己觉得经常用的语句
- UCOS-II中数据类型移植
- hdu 4726 Kia's Calculation (贪心)
- java..ios...===开源框架代码的神器
- to_char