qml学习.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
qml学习

前言:Qt Declarative UI 传得沸沸扬扬,却很少有中文资料介绍这是一个什么样的技术,以及如何使用它。偶尔能搜到几篇 也是掐头去尾的,让人摸不着头脑。CuteQt 网友英狐奉献的三篇文章很有参考价值,把我带入了门。我准备翻译的这个入门 教程来自于Qt 官方文档 ,更多的是语法性的介绍。说是翻译,其实是我在原文基础上的一个阅读理解吧。 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 源代码如下 1 import Qt 4.7 2 3 Rectangle { 4 id: page 5 width: 500; height: 200 6 color: “lightgray” 7 8 Text { 9 id: helloText 10 text: “Hello world!” 11 font.pointSize: 24; font.bold: true 12 y: 30; anchors.horizontalCenter: page.horizontalCenter 13 } 14 } 第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 最基础的类,通过查看它的继承类以及这些继承类可用的属性,你可以添加更多你感兴趣的内容。 好吧, Happy QML。 手头的事情勉强告一段落,看到QT4.7 的技术预览版中已经包含了 declarative UI ,心中 ,要知道如果当初不是WPF 太 臃肿及不能跨平台,我们的项目已经在WPF+WCF 的路上走的很远了(可以自豪的说,WPF+WCF 的应用,无论国内还是国 外,俺们项目组也算是走在前列的 *_* )。。。。 唔,远了,扯回来。先下了qt creator 2.0 ,装上,用2010.02 的

文档评论(0)

jyf123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6153235235000003

1亿VIP精品文档

相关文档