- 1、本文档共72页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
QtQuick中文手冊
QML 杂记 Tonkv翻译
Qt Quick
简介
Qt Quick提供了一套高动态,丰富的QML元素来定制用户界面的说明性框架。Qt Quick有助于
程序开发员与界面设计员的合作为便携式设备建立流畅的用户界面,例如:移动电话、媒体播放器,机
顶盒以及上网本等。Qt Quick包含了QtDeclarative C++模块,QML并且它们全被整合到Qt
Create IDE中。使用QtDeclarative C++模块可以从你的QT 应用程序中载入QML文件并与之互动。
QML是对Ja vaScript一种扩展,它提供一种机制使用QML元素来说明构建一个对象树。QML对
Ja vaScript与Qt现有的QObjec -tbase类型系统进行整合改善;增加了自动属性绑定的支持并提供在
语言级别的网络透明度。
QML元素是一套先进的图形,就像搭积木方式那样构建界面。这些不同的元素是通过QML文档来
绑在一起的,从简单的按钮与滑块到复杂完整的应用程序,例如一个受欢迎的Flickr照片共享网站上的
照片浏览器。
Qt Quick是建立在Qt固有优势的基础上。QML可被用于逐步扩展现有的程序或创建全新的应用
程序。QML通过QtDeclarative 模块来完全扩展C++功能。
入门
QML语言入门
QML是一个说明性语言,用来描述程序的用户界面:它的外观以及它的行为。在QML中,一个用
户界面作为一个带有属性的对象树。
本篇是为有很少或没有编程经验的人准备的。Ja vaScript是用来作为QML的脚本语言,所以你可
能想对它了解多一点(Ja vaScript:The Definitive Guide),然后再深入QML。另外如HTML与
CSS等Web 技术的基础原理也是有帮助的;但它不是必需的。
QML语言基础
QML类似这样:
import Qt 4.7
Rectangle {
语言岛网站 1
QML 杂记 Tonkv翻译
width: 200
height: 200
color: blue
Image {
source: pics/logo.png
anchors.centerIn: parent
}
}
对象是指定的类型,紧随其后是一对大括号,对象类型总是首字母为大写。在上面的示例中,有两个
对象,一个Rectangle[矩形]与一个Image[图像]。在大括号之间是关于该对象特定的信息,例如
它们的属性。
属性是以property[属性]: value[值]形式指定的。在上面的示例中,我们可以看到图像有个名为
source[来源]的属性,它的值被指定为”pics/logo.png”。该属性与它的值是由冒号来分隔。
属性是由单行来输写:
Rectangle {
width: 100
height: 100
}
或单行输写多个属性:
Rectangle { width: 100; height: 100 }
当单行输写多属性/值时,必须由分号来分隔开来。
Import语句导入Qt模块,它包含所有标准的QML元素。如果没有Import语句;那么Rectangle与
Image元素将无效。
表达式
除了赋值属性外;你也可以用JavaScript编写的表达式来指定。
Rotation {
angle: 360 * 3
}
这些表达式可以包含其它的对象与属性的引用,在这种情况下就会建立约束关联:当该表达式改变值
语言岛网站 2
QML 杂记 Tonkv翻译
时;该属性值将自动更新。
Item {
Text {
id: text1
text: Hello World
}
Text {
id: text2
text: text1.text
}
}
在上面的示例中,text2对象将显示与text1相同的文本。如果text1改变值;那么text2也将自
动更新为相同的值。
注意这里我们通过使用id值引用其它的对象。(详情请参见id属性信息)
QML注释
在QML中的注释类似于JavaScript。
单选注释以 // 开始。
多行注释以 /* 开始,以 */ 结束。
import Qt 4.7
注释是不被执行的,添加注释可对代码进行解释或者提高其可读性。
注释同样还可用于防止代码执行,这对跟踪问题是非常有用的。
Text {
text: Hello world!
//opacity: 0.5
}
在上面的示例中,这个Text对象将正常显示,一旦opacity: 0.5这行关掉注释,这是以半透明方式
显示文本。
属性
属性命名
属性命名以首字母为小字(附加属性除外)。
语言岛网站 3
QML 杂记 Tonkv翻译
属性类型
QML支持许多类型的属性(参阅QML基本类型)。基本类型包括整型、实数型、布尔、字符串、颜
色以及列表。
Item
文档评论(0)