このページでは

Column QML Type

カラム内の子の位置を指定します。詳細...

Import Statement: import QtQuick
Inherits:

Item

プロパティ

信号

方法

詳細説明

カラムは、子アイテムを1つのカラムに沿って配置するタイプである。アンカーを使わずに、一連のアイテムを縦方向に配置する便利な方法として使用できます。

下の図は、様々なサイズの3つの長方形を含む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内のアイテムがvisible 、または幅や高さが0でない場合、そのアイテムはレイアウトされず、Column内に表示されません。また、Columnは自動的に子アイテムを垂直方向に配置するため、Column内の子アイテムはy の位置を設定したり、topbottomanchors.verticalCenterfillcenterIn のアンカーを使用して垂直方向にアンカーを設定するべきではありません。これらのアクションを実行する必要がある場合は、Columnを使用せずにアイテムを配置することを検討してください。

なお、Column内のアイテムは、Positioner attachedプロパティを使用して、Column内の位置に関する詳細情報にアクセスすることができます。

Columnおよび他の関連するポジショナタイプの使用に関する詳細は、アイテムポジショナを参照してください。

トランジションの使用

Columnは、Columnにアイテムが追加されたり、Column内でアイテムが移動したりすると、特定のトランジションを使用してアイテムをアニメーション化します。

例えば、以下のColumnは、move プロパティを特定のTransition に設定しています:

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
}

Spaceキーが押されると、緑色のRectanglevisible の値が切り替わります。それが現れたり消えたりすると、Column内で青いRectangle が移動し、move の遷移が青いRectangle に自動的に適用されます:

Row,Grid,Flow,Positioner,ColumnLayout,Qt Quick 例 - ポジショナーも参照

プロパティ・ドキュメンテーション

add : Transition

このプロパティは、このポジショナに追加されるアイテムのために実行されるトランジションを保持する。ポジショナーでは、次の場合に適用されます:

  • ポジショナーが作成された後に、ポジショナーの子として作成されたアイテム、または再ペアレントされたアイテム。
  • Item::visible プロパティが false から true に変更され、表示されるようになった子アイテム。

トランジションは、ViewTransition プロパティを使用して、追加されるアイテムの詳細にアクセスできます。トランジションの詳細と使用例については、ViewTransition のドキュメントを参照してください。

注: このトランジションは、ポジショナー作成時にすでにポジショナーの一部となっているアイテムには適用されません。この場合、代わりにpopulate トランジションが適用される。

populateViewTransitionQt Quick Examples - Positionersも参照してください

bottomPadding : real

leftPadding : real

padding : real

rightPadding : real

topPadding : real

これらのプロパティは、コンテンツの周りのパディングを保持します。

move : Transition

このプロパティは、ポジショナ内で移動したアイテムに対して実行するトランジションを保持する。ポジショナーでは、次のような場合に適用されます:

  • ポジショナー内の他のアイテムの追加、削除、または並べ替えによって移動する子アイテム。
  • ポジショナー内の他のアイテムのサイズ変更によって再配置される子アイテム。

トランジションは、ViewTransition プロパティを使用して、移動されるアイテムの詳細にアクセスすることができます。ただし、この移動トランジションでは、ViewTransition.targetIndexes リストとViewTransition.targetItems リストは、ポジショナー内の他のアイテムの追加によってこのトランジションがトリガーされた場合にのみ設定されることに注意してください。これらのトランジションの詳細と使用例については、ViewTransition ドキュメントを参照してください。

add,populate,ViewTransition,Qt Quick Examples - Positionersも参照してください

populate : Transition

このプロパティは、作成時にこのポジショナーの一部であるアイテムに対して実行されるトランジションを保持する。このトランジションは、ポジショナーが最初に作成されたときに実行されます。

このトランジションは、ViewTransition プロパティを使用して、追加されるアイテムの詳細にアクセスできます。これらのトランジションの詳細と使用例については、ViewTransition ドキュメントを参照してください。

addViewTransitionQt Quick Examples - Positionersも参照してください

spacing : real

スペーシングは、隣接するアイテムの間を空けるピクセル数です。デフォルトの間隔は0です。

Grid::spacingも参照のこと

シグナル・ドキュメント

positioningComplete()

このシグナルは位置決めが完了したときに発せられる。

注意: 対応するハンドラはonPositioningComplete です。

メソッドのドキュメント

void forceLayout()

Columnは通常、1フレームに1回、その子を配置します。つまり、スクリプトブロックの内部では、子プロセスが変更されても、Columnがそれに応じて更新されていない可能性があります。

このメソッドにより、Columnは子要素の未更新の変更に即座に対応することになります。

注意:一般的に、メソッドはComponentが完了した後にのみ呼び出されるべきです。

© 2026 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.