Column QML Type

Positioniert seine Kinder in einer Spalte. Mehr...

Import Statement: import QtQuick
Inherits:

Item

Eigenschaften

Signale

Methoden

Ausführliche Beschreibung

Column ist ein Typ, der seine untergeordneten Elemente entlang einer einzelnen Spalte positioniert. Er kann verwendet werden, um eine Reihe von Elementen vertikal zu positionieren, ohne Anker zu verwenden.

Nachfolgend sehen Sie eine Spalte, die drei Rechtecke unterschiedlicher Größe enthält:

Column {
    spacing: 2

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

Die Spalte positioniert diese Elemente automatisch in einer vertikalen Anordnung, etwa so:

Wenn ein Element in einer Spalte nicht visible ist, oder wenn es eine Breite oder Höhe von 0 hat, wird das Element nicht angeordnet und ist in der Spalte nicht sichtbar. Da eine Spalte ihre untergeordneten Elemente automatisch vertikal positioniert, sollte ein untergeordnetes Element innerhalb einer Spalte nicht seine Position y festlegen oder sich selbst vertikal verankern, indem es die Verankerungen top, bottom, anchors.verticalCenter, fill oder centerIn verwendet. Wenn Sie diese Aktionen durchführen müssen, sollten Sie die Positionierung der Elemente ohne die Verwendung einer Spalte in Betracht ziehen.

Beachten Sie, dass Elemente in einer Spalte die angehängte Eigenschaft Positioner verwenden können, um weitere Informationen über ihre Position innerhalb der Spalte zu erhalten.

Weitere Informationen zur Verwendung von Column und anderen verwandten Positionierer-Typen finden Sie unter Elementpositionierer.

Übergänge verwenden

Eine Spalte animiert Elemente mit bestimmten Übergängen, wenn Elemente zu einer Spalte hinzugefügt oder innerhalb der Spalte verschoben werden.

In der folgenden Spalte wird zum Beispiel die Eigenschaft move auf eine bestimmte Transition gesetzt:

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
}

Wenn die Leertaste gedrückt wird, wechselt der visible Wert des grünen Rectangle. Beim Erscheinen und Verschwinden bewegt sich die blaue Rectangle innerhalb der Spalte, und der Übergang move wird automatisch auf die blaue Rectangle angewendet:

Siehe auch Row, Grid, Flow, Positioner, ColumnLayout, und Qt Quick Beispiele - Positionierer.

Dokumentation der Eigenschaft

bottomPadding : real

leftPadding : real

padding : real

rightPadding : real

topPadding : real

Diese Eigenschaften enthalten die Polsterung um den Inhalt.


add : Transition

Diese Eigenschaft enthält den Übergang, der für Elemente, die diesem Positionierer hinzugefügt werden, ausgeführt wird. Für einen Positionierer gilt dies für:

  • Elemente, die als untergeordnetes Element des Positionierers erstellt oder repariert werden, nachdem der Positionierer erstellt wurde
  • Untergeordnete Elemente, die ihre Item::visible -Eigenschaft von false auf true ändern und somit jetzt sichtbar sind

Der Übergang kann die Eigenschaft ViewTransition verwenden, um auf weitere Details über das hinzugefügte Element zuzugreifen. In der Dokumentation ViewTransition finden Sie weitere Details und Beispiele zur Verwendung dieser Übergänge.

Hinweis: Dieser Übergang wird nicht auf die Elemente angewendet, die zum Zeitpunkt der Erstellung bereits Teil des Positionierers sind. In diesem Fall wird stattdessen der Übergang populate angewendet.

Siehe auch populate, ViewTransition, und Qt Quick Beispiele - Positionierer.


move : Transition

Diese Eigenschaft enthält den Übergang, der für Elemente ausgeführt werden soll, die innerhalb des Positionierers verschoben wurden. Für einen Positionierer gilt dies für:

  • Untergeordnete Elemente, die sich verschieben, wenn sie durch das Hinzufügen, Entfernen oder Neuanordnen anderer Elemente im Positionierer verschoben werden
  • Untergeordnete Elemente, die aufgrund der Größenänderung anderer Elemente im Positionierer neu positioniert werden

Der Übergang kann die Eigenschaft ViewTransition verwenden, um auf weitere Details über das zu verschiebende Element zuzugreifen. Beachten Sie jedoch, dass für diesen Verschiebeübergang die Listen ViewTransition.targetIndexes und ViewTransition.targetItems nur gesetzt werden, wenn dieser Übergang durch das Hinzufügen anderer Elemente im Positionierer ausgelöst wird; in anderen Fällen sind diese Listen leer. In der Dokumentation ViewTransition finden Sie weitere Einzelheiten und Beispiele zur Verwendung dieser Übergänge.

Siehe auch add, populate, ViewTransition, und Qt Quick Beispiele - Positionierer.


populate : Transition

Diese Eigenschaft enthält den Übergang, der für die Elemente ausgeführt werden soll, die zum Zeitpunkt der Erstellung Teil dieses Positionierers sind. Der Übergang wird ausgeführt, wenn der Positionierer zum ersten Mal erstellt wird.

Der Übergang kann die Eigenschaft ViewTransition verwenden, um auf weitere Details über das hinzugefügte Element zuzugreifen. In der Dokumentation ViewTransition finden Sie weitere Einzelheiten und Beispiele zur Verwendung dieser Übergänge.

Siehe auch add, ViewTransition, und Qt Quick Beispiele - Positionierer.


spacing : real

Der Abstand ist die Menge in Pixeln, die zwischen benachbarten Elementen frei bleibt. Der Standardabstand ist 0.

Siehe auch Grid::spacing.


Signal Dokumentation

positioningComplete()

Dieses Signal wird ausgegeben, wenn die Positionierung abgeschlossen ist.

Hinweis: Der entsprechende Handler ist onPositioningComplete.


Dokumentation der Methode

forceLayout()

Column positioniert seine Kinder normalerweise einmal pro Frame. Das bedeutet, dass es innerhalb von Skriptblöcken möglich ist, dass sich die zugrundeliegenden Childs geändert haben, die Column aber noch nicht entsprechend aktualisiert worden ist.

Diese Methode zwingt die Spalte dazu, sofort auf alle ausstehenden Änderungen in ihren Childs zu reagieren.

Hinweis: Methoden sollten im Allgemeinen erst aufgerufen werden, wenn die Komponente abgeschlossen ist.


© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.