列 QML 类型

将其子项在列中对齐。 更多...

导入语句import QtQuick
继承

Item

属性

信号

方法

详细说明

Column 是一种类型,其将子项沿单列对齐。它可以用作在不使用 锚点 的情况下,垂直对齐一系列项的便捷方式。

以下是一个包含三个不同大小的矩形的 Column

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 会将这些项目自动垂直排列,如下所示

如果 Column 中的项不可见,或其宽度或高度为 0,则该项不会进行布局,并且在 Column 中也不可见。此外,由于 Column 会自动垂直排列其子项,因此 Column 中的子项不应设置其 y 位置或使用 topbottomanchors.verticalCenterfillcenterIn 锚点垂直对齐自己。如果您需要执行这些操作,请考虑在无需使用 Column 的情况下定位项。

请注意,Column 中的项可以使用附加属性 Positioner 来访问有关其在 Column 中位置的更多信息。

有关使用 Column 和其他相关位置器类型的更多信息,请参阅 项位置器

使用过渡动画

当向 Column 中添加项或移动 Column 中的项时,Column 会使用特定的过渡动画来动画化项。

例如,下面的Column设置move属性为特定的过渡

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
}

当按下空格键时,绿色Rectanglevisible值将被切换。随着它的出现和消失,蓝色Rectangle在Column中移动,并且move过渡被自动应用于蓝色Rectangle

另请参阅RowGridFlowPositionerColumnLayoutQt Quick 示例 - Positioner

属性文档

bottomPadding : real

leftPadding : real

padding : real

rightPadding : real

topPadding : real

这些属性包含内容周围的填充。


add : Transition

此属性包含对添加到此位置器的项目的运行过渡。对于位置器,这适用

  • 位置器创建或重新父母为子位置器之后创建的项
  • 子项更改其Item::visible属性从false到true,因此现在是可见的

过渡可以使用ViewTransition属性来访问被添加项的更多详细信息。有关使用这些过渡的更多详细信息和方法示例,请参阅ViewTransition文档。

注意:此过渡不会应用于位置器创建时已包含在其内部的项。在这种情况下,将应用populate过渡。

另请参阅populateViewTransitionQt Quick 示例 - Positioner


move : Transition

此属性包含对在位置器内部移动的项目运行的过渡。对于位置器,这适用

  • 由于位置器中其他项目的添加、删除或重新排列而移动的子项
  • 由于位置器中其他项目的调整大小而重新定位的子项

过渡可以使用ViewTransition属性来访问正在移动的项的更多详细信息。注意,但是,对于此移动过渡,ViewTransition.targetIndexes和ViewTransition.targetItems列表仅在位置器中添加其他项目时由此过渡触发时设置;在其他情况下,这些列表将为空。有关使用这些过渡的更多详细信息和方法示例,请参阅ViewTransition文档。

另请参阅addpopulateViewTransitionQt Quick 示例 - Positioner


populate : Transition

此属性包含在创建位置器时被视为此位置器一部分的项目的运行过渡。当位置器首次创建时执行过渡。

过渡可以使用ViewTransition属性来访问被添加项的更多详细信息。有关使用这些过渡的更多详细信息和方法示例,请参阅ViewTransition文档。

另请参阅 addViewTransitionQt Quick 实例 - Positioners


spacing : real

间距是指相邻项之间空白像素的数量。默认间距为0。

另请参阅 Grid::spacing


信号文档

positioningComplete()

该信号在定位完成时发出。

注意:相应处理程序是onPositioningComplete


方法文档

forceLayout()

列通常在每个框架中为其子项定位一次。这意味着在脚本块中,底层子项可能已经改变,但列可能尚未相应更新。

此方法迫使列立即对其子项的任何未解决更改做出响应。

注意:通常应在组件完成之后调用方法。


© 2024 Qt 公司有限公司。此处包含的文档贡献者是各自所有者的版权。此处提供的文档是根据由自由软件基金会发布的GNU 自由文档许可证版本 1.3的条款许可的。Qt和相应标志是芬兰以及全球其他国家的Qt公司商标。所有其他商标均为各自所有者的财产。