QML Book 第四章 入门 2

4.2. 基本元素

元素可以分为可视和非可视元素。可视元素(如 Rectangle)具有几何形状,通常显示屏幕上的一块区域。非可视元素(如 Timer)提供特定的功能,通常用于操作可视元素。

现在我们将专注于几个基础的可视化元素,例如Item(基础元素对象),Rectangle(矩形框),Text(文本),Image(图像)和 MouseArea(鼠标区域)。

4.2.1. Item 元素

Item 元素是所有可视元素的基类,所有其它的可视元素都继承自 Item。它自身没有进行任何绘制操作,但是定义了所有可视元素的共有属性:

分类 属性值
几何属性 x,y 定义了元素左上角的位置,width,height 定义元素的显示范围,z 定义元素之间的堆叠顺序
布局管理 anchors (left, right, top, bottom, vertical and horizontal center) 与 margins 一起定义了元素与其它元素之间的位置关系
按键管理 附加属性 key(按键)和 keyNavigation(按键定位)属性来控制按键操作,处理输入焦点(focus)可用操作
转换 scale 和 rotate 转换,通用的 x,y,z 属性列表 transform,旋转基点设置(transformOrigin)
可视化 opacity 控制透明度,visible 控制元素是否显示,clip 用来限制元素边界的绘制,smooth 用来提高渲染质量
状态机 states 提供了元素当前所支持的状态列表,当前属性的改变也可以使用 transitions 属性列表来定义状态转变动画

为了更好地理解不同的属性,我们将尝试在本章的介绍中介绍它们。请记住,这些基本属性可在每个可视元素上使用,并在这些元素之间工作。

** 注意 **
Item 元素通常被用来作为其它元素的容器使用,这有点类似于 HTML 语言中的 div 元素。

4.2.2. Rectangle 元素

Rectangle 元素继承自 Item,并添加了填充颜色。另外 Rectangle 通过 border.color 和 border.width 属性来支持边框属性。我们还可以使用 radius 属性来创建圆角的矩形。

背景色、边框以及圆角

** 提示 **
有效的颜色值是 SVG 颜色名称的颜色(具体可以请参见 http://www.w3.org/TR/css3-color/#svg-color )。 我们可以以不同的方式在 QML 中给颜色变量赋值,但最常见的方式是 RGB 字符串(如 “#FF4444”)或颜色名称(如 “white”)。

除了填充颜色和边框之外,矩形还支持自定义渐变。

Rectangle {
    id: rect1
    x: 12; y: 12
    width: 176; height: 96
    gradient: Gradient {
        GradientStop { position: 0.0; color: "lightsteelblue" }
        GradientStop { position: 1.0; color: "slategray" }
    }
    border.color: "slategray"
}
渐变

从上例中我们可以看到:渐变由一系列的渐变停顿(GradientStop)来定义。每个停顿都有一个位置和颜色属性,GradientStop 的位置属性用于标记 y 轴上的位置(其中 0 表示顶部,1 表示底部), GradientStop 的颜色属性标记在该位置的颜色。

** 提示 **
没有设置 width 或 height 的矩形将是不可见的。当我们有几个矩形宽度(高度)取决于彼此并且组合逻辑中出现问题时,会发生这种情况。 所以要小心!

** 提示 **
不能创建有角度的渐变。为此,最好使用预定义的图像。一种可能的方法是旋转带渐变的矩形,但要注意的是,旋转的矩形的形状不会改变,因此元素的几何形状与可见区域不相同会导致混淆。从作者的角度来看,在这种情况下使用设计好的渐变图像真的是更好的选择。

本文参考链接:Quick Starter

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容