このページでは

Column QML Type

子要素を縦一列に配置します。詳細...

Import Statement: import QtQuick
Inherits:

Item

プロパティ

信号

方法

詳細な説明

「Column」は、子要素を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は、これらのアイテムを自動的に次のように縦一列に配置します:

1つの列に縦に積み重ねられた3つの色付き長方形

Column内のアイテムがvisible でない場合、または幅や高さが0の場合、そのアイテムはレイアウトされず、Column内には表示されません。 また、Columnは子アイテムを自動的に垂直に配置するため、Column内の子アイテムは、y プロパティを設定したり、top 、bottom 、anchors.verticalCenter 、fill 、centerIn といったアンカーを使用して垂直方向に固定したりすべきではありません。これらの操作を行う必要がある場合は、Columnを使用せずにアイテムを配置することを検討してください。

なお、カラム内のアイテムは、Positioner アタッチドプロパティを使用して、カラム内での位置に関する詳細情報にアクセスできます。

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
}

スペースキーが押されると、緑色のRectangle のvisible 値が切り替わります。それが表示されたり消えたりするにつれて、青色のRectangle がColumn内で移動し、move トランジションが青色のRectangle に自動的に適用されます:

Row 、Grid 、Flow 、Positioner 、ColumnLayout 、およびQt Quick の「例 - ポジショナー」も参照してください 。

プロパティのドキュメント

add : Transition

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

  • ポジショナーが作成された後、その子として作成されたり、親が変更されたりしたアイテム
  • Item::visible プロパティがfalseからtrueに変更され、その結果表示されるようになった子アイテム

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

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

「 populate 」、「ViewTransition 」、および「Qt 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 』のドキュメントを参照してください。

「 add 」、「ViewTransition 」、および「Qt Quick Examples - Positioners」も参照してください 。

spacing : real

間隔とは、隣接する項目間の空白の幅(ピクセル単位)のことです。デフォルトの間隔は 0 です。

「Grid::spacing」も参照してください 。

Signal ドキュメント

positioningComplete()

このシグナルは、位置決めが完了したときに発行されます。

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

メソッドのドキュメント

void forceLayout()

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

このメソッドは、Columnに対し、子要素の未反映の変更に対して直ちに反応するよう強制します。

注:一般的に、メソッドはコンポーネントの処理が完了した後にのみ呼び出すべきです。

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