QML基本可视元素-Item

Item:

QML中所有可视项目都继承自Item。

Item本身没有可视化外观,但它定义了可视化项目的所有属性(如位置x, y属性,大小width, height属性,布局的anchors相关属性以及关于按键的Keys属性等)

Item的visible属性,将其设置为false可以隐藏项目,默认为true

1.   作为容器

Item 也常用来对项目进行分组

Item {
    Image {
        source: "tile.png"
    }
    Image {
        x: 80
        width: 100
        height: 100
        source: "tile.png"
    }
    Image {
        x: 190
        width: 100
        height: 100
        //图片填充模式
        fillMode: Image.tile    
        source: "tile.png"
    }
}

2.   默认属性

Item 中有一个child属性和一个resources属性,前者包含了可见的子类的列表,后者包含了不可见的资源。

编程中可以向一个项目中添加任何元素

Item {
    children: [
        Text {},
        Rectangle{}
    ]
    resources: [
        Timer {}
    ]
}

Item有个data默认属性,可加可见子类和不可见资源,data为默认属性,可以省略data标签


Item {
    Text {}
    Rectangle{}
    Timer {}
}  //没有逗号隔开

3.   透明度

Item属性opacity,可以设置透明度,范围是0.0(完全透明)到1.0(完全不透明)之间的数字,默认值是1.0。

4.   堆叠顺序

Item拥有一个z属性,可以用来设置兄弟项目的堆叠顺序。默认的堆叠顺序0。拥有较大z属性值得项目会绘制在比其z值小的兄弟项之上。拥有相同的z属性值得项目会以出现的顺序右下向上绘制。如果项目的z属性值为负值,那么会被绘制在父项目的内容的下面。

5.   定位子项目和坐标映射

Item中提供了childAt(real x, real y)函数来返回在点(x, y)处的子项目,如果没有这样的项目则返回null。而mapFromItem(Itemitem, real x, real y)函数会将item坐标系统 中的点(x,y)隐射到该项目的坐标系统上,返回一个包含映射后的x和y属性的对象。如果item被指定为null值,那么会从根QML视图坐标系统上的点进行映射。对应的还有一个mapToItem(Itemitem, real x, real y)函数,它与mapFromItem()很相似,只不过是从当前项目坐标系统的(x, y)点隐射到item的坐标系统而已。


备注:《Qt及Qt Quick开发实战精解》笔记

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值