QML类型说明-Column

Column

ImportStatement:   import QtQuick 2.2

Inherits:      Item

 

Properties

add :Transition

move :Transition

populate :Transition

spacing :real

 

DetailedDescription

子组件以垂直方式布局,他是不适用锚定布局一系列组件的简便方法。

Column {

    spacing: 2

 

    Rectangle { color: "red"; width:50; height: 50 }

    Rectangle { color: "green";width: 20; height: 50 }

    Rectangle { color: "blue"; width:50; height: 20 }

}

这些矩形自动以垂直方式布局,像下面这样:


如果一个Column中的组件不可见,或者它的宽或高为0。改组件将不会被布局,并在Column中不可见。因为Column是自动布局子组件,所以子组件不要设置y坐标或者垂直锚定到顶部、底部、垂直正中、填充或中央锚定。如果我们需要执行这些操作,考虑不使用Column。注意列中的组件可以使用Positioner关联属性来访问它在Column中的位置信息。

 

应用过渡:

Column动画组件可使用指定的过渡来处理子组件的增加或移除。

例如下面的动画:

Column {

    spacing: 2

 

    Rectangle { color: "red"; width:50; height: 50 }

    Rectangle { id: greenRect; color:"green"; width: 20; height: 50 }

    Rectangle { color: "blue"; width:50; height: 20 }

 

    move: Transition {

        NumberAnimation { properties:"x,y"; duration: 1000 }

    }

 

    focus: true

    Keys.onSpacePressed: greenRect.visible =!greenRect.visible

}

当空格键被按下,绿色矩形不可见,在它消失和显示的时候,蓝色矩形在列内如下移动。


注意绿色的矩形,当它消失时,是因为被移除,触发move过渡。而此时蓝色矩形因为获得新位置,触发move过渡。当它显示时,蓝色矩形因为失去位置触发过渡,而绿色矩形由于占用了蓝色的位置,在蓝色位置的过渡目标表中,所以绿色矩形也有动画。

另外,位置是组件的(x,y)坐标。

注意Column中隐含定位器。而Column中的子组件触发过渡,是因为子组件在定位器上失去位置或获得位置导致的。

 

PropertyDocumentation

add :Transition

往列中增加组件或一个组件由不可见变得可见时,这个过渡触发。过渡能用ViewTransition属性去访问添加在子组件上的细节。可参阅ViewTransition的文档来了解更多信息。

注意在Column创建时已经是列的一部分的子组件不会触发这个过渡,取代的,是触发populate过渡。

 

move :Transition

当由于添加,移除或重新排列子组件导致组件失去当前所处的位置,或改变组件的大小导致子组件失去位置时,这个过渡被触发。过渡能用ViewTransition属性去访问添加在子组件上的细节。注意对这个过渡来说,只有当过渡被在移动组件的位置添加组件而失去位置所触发时,ViewTransition.targetIndexes和ViewTransition.targetItems列表才被设置。其他情况,列表是空的。可参阅ViewTransition的文档来了解更多信息。

注意:在Qt Quick 1,Column被创建时的所有存在子组件,都使用这个过渡。而在Qt Quick 2中,使用populate这个过渡来处理Column的第一次创建。

 

populate :Transition

Column第一次被创建时,已经是Column的一部分的子组件触发的过渡。过渡能用ViewTransition属性去访问添加在子组件上的细节。可参阅ViewTransition的文档来了解更多信息。

 

spacing :real

相邻的子组件之间的保留空间,默认为0。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值