- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
qml入门教程qml入门教qml入门教程qml入门教程
QML学习【一】Basic Types
博客分类:?
Qt
QML教程
?
?
?
QML入门教程(1)
QML是什么?
QML是一种描述性的脚本语言,文件格式以.qml结尾。语法格式非常像CSS(参考后文具体例子),但又支持javacript形式的编程控制。它结合了QtDesigner UI和QtScript的优点。QtDesigner可以设计出.ui界面文件,但是不支持和Qt原生C++代码的交互。QtScript可以和Qt原生代码进行交互,但是有一个缺点,如果要在脚本中创建一个继承于QObject的图形对象非常不方便,只能在Qt代码中创建图形对象,然后从?QtScript中进行访问。而QML可以在脚本里创建图形对象,并且支持各种图形特效,以及状态机等,同时又能跟Qt写的C++代码进行方便的交互,使用起来非常方便。
?
如何使用?
在Qt C++文件中通过QDeclarativeView加载,就像使用UiLoader加载.ui文件一样。不过本文不会去介绍如何在Qt C++中使用QML,而是把重点放在QML的语法上,不过别担心看不到.qml文件的效果。Qt提供了一个工具QML Viewer可以查看.qml文件生成的效果,该程序在Qt的bin目录下,应用名字叫qml(Windows下叫qml.exe)。所以你在看到别人提供的.qml文件时,你可以用下面命令qml filename.qml?查看.qml的执行结果,咱们的第一个Hello,World生成界面如下
????????
开始QML吧
上面的Hello,World源代码如下
?
Js代码??
import?QtQuick?1.0??
??
Rectangle?{??
????id:?page??
????width:?500;?height:?200??
????color:?lightgray??
??
????Text?{??
????????id:?helloText??
????????text:?Hello?world!??
????????y:?30??
????????anchors.horizontalCenter:?page.horizontalCenter??
????????font.pointSize:?24;?font.bold:?true??
????}??
}??
?
?
第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,那么只要执行qml hellowrold.qml就能看到文章前头的界面了。
?
?
更多对象?
在上面的代码中我们用到了Rectangle和Text,那么我还有哪些对象以及这些对象有哪些属性呢。那么请访问QML-Item类,Item类是QML最基础的类,通过查看它的继承类以及这些继承类可用的属性,你可以添加更多你感兴趣的内容。
?
QML入门教程(2)
在上一篇文章里我们使用了最基础的QML类型实现了文字Hello,World的显示。这篇文章中将会增加颜色选项面板,用户可以给?Hello,World设置不同的颜色,如下图显示
QML组件
从图中可以看到选项面板由6个颜色小块组成,它们唯一的区别就是颜色不一样。那么我们就可以用组件(Component)来实现一个颜色块,然后在需要的时候使用这个组件就可以了。组件其实和其它编程语言中的宏,函数,类,结构体等功能差不多,就是代码复用。作为程序员,我知道你懂的。组件由一个单独的QML文件名组成,文件名总是以大写字母开头,要使用该组件的时候直接使用该文件名就可以了。关于如何定义自己的组件,请访问?Defining new Components。我们为一个颜色块定义了一个Cell.qml文件,然后使用Cell作为一个去访问它。
?
?
Cell.qml的内容
?
Js代码??
import?QtQuick?1.0??
??
Item?{??
????id:?conta
您可能关注的文档
- ppt48项流程图模板pp48项流程图模板ppt48项流程图模板ppt48项流程图模板.ppt
- ppt注释的使用方法ppt释的使用方法ppt注释的使用方法ppt注释的使用方法.doc
- ppt制作技巧(完美教程8页)ppt制作技巧(完美教程80页)ppt制作技巧(完美教程80页)ppt制作技巧(完美教程80页).ppt
- ppt制作技巧资料(操作练版本)ppt制作技巧资料(操作练习版本)ppt制作技巧资料(操作练习版本)ppt制作技巧资料(操作练习版本).doc
- ppt制作(9.20)pp制作(9.20)ppt制作(9.20)ppt制作(9.20).ppt
- pqe一课个人职务说明书(程师)pqe一课个人职务说明书(工程师)pqe一课个人职务说明书(工程师)pqe一课个人职务说明书(工程师).doc
- pretues元件中英文对表pretues元件中英文对照表pretues元件中英文对照表pretues元件中英文对照表.doc
- ppt自学t教程ppt自学教程ppt自学t教程ppt自学t教程.ppt
- proe二次开发的核心技术roe二次开发的核心技术proe二次开发的核心技术proe二次开发的核心技术.doc
- proe5.0 m110版安装方法(图文+解说+破译)proe5.0 m110版本安装方法(图文+解说+破译)proe5.0 m110版本安装方法(图文+解说+破译)proe5.0 m110版本安装方法(图文+解说+破译).doc
文档评论(0)