このページでは

C

Item QML Type

基本的なビジュアルQML型。詳細...

列挙型

プロパティ

方法

詳細説明

Item 型は、Qt Quick におけるすべてのビジュアル項目の基底型です。

Qt Quick のすべてのビジュアルアイテムは Item から継承されます。Item オブジェクト自体には視覚的な外観はありませんが、x 座標や y 座標、幅、高さ、アンカー位置など、ビジュアルアイテムに共通するすべての属性を定義しています。

Item 型は、単一のルートビジュアルアイテムの下に複数のアイテムをグループ化する際に役立ちます。例:

import QtQuick 2.15

Item {
    Image {
        source: "qrc:/tile.png"
    }
    Image {
        x: 80
        width: 100
        height: 100
        source: "qrc:/tile.png"
    }
    Image {
        x: 190
        width: 100
        height: 100
        fillMode: Image.Tile
        source: "qrc:/tile.png"
    }
}

Item QML 型も参照してください

列挙型のドキュメント

TransformOrigin

変換の原点を一覧表示します。

定数説明
Item.TopLeft項目の左上隅。
Item.Top項目の上端。
Item.TopRight項目の右上隅。
Item.Left項目の左側。
Item.Centerアイテムの中央。
Item.Rightアイテムの右側。
Item.BottomLeft項目の左下隅。
Item.Bottomアイテムの下部。
Item.BottomRight項目の右下隅。

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

activeFocus : Item [read-only, since Qt Quick Ultralite 2.9]

この読み取り専用プロパティは、そのアイテムがアクティブなフォーカスを持っているかどうかを示します。

activeFocus が true の場合、このアイテムは現在キーボード入力を受け付けているものです。

このプロパティは、Qt Quick Ultralite 2.9 で導入されました。

forceActiveFocus」も参照してください

anchors group

anchors.baseline : AnchorLine

anchors.baselineOffset : real

anchors.bottom : AnchorLine

anchors.bottomMargin : real

anchors.centerIn : Item

anchors.fill : Item

anchors.horizontalCenter : AnchorLine

anchors.horizontalCenterOffset : real

anchors.left : AnchorLine

anchors.leftMargin : real

anchors.margins : real

anchors.right : AnchorLine

anchors.rightMargin : real

anchors.top : AnchorLine

anchors.topMargin : real

anchors.verticalCenter : AnchorLine

anchors.verticalCenterOffset : real

アンカーは、他のアイテムとの関係を指定することで、アイテムの位置を決定する方法を提供します。

マージンは、top、bottom、left、right、および fill アンカーに適用されます。anchors.margins プロパティを使用すると、さまざまなマージンをすべて一度に同じ値に設定できます。このプロパティは、以前に設定された特定のマージンを上書きすることはありません。明示的に設定されたマージンをクリアするには、その値をundefined に設定してください。マージンはアンカーごとに設定されるものであり、アイテムがアンカーを使用していない場合は適用されないことに注意してください。

オフセットは、水平中央、垂直中央、およびベースラインのアンカーに適用されます。

画像にアンカーされたテキストで、水平方向に中央揃え、垂直方向に下部に配置され、マージンが設定されています。
Item {
    Image {
        id: pic
        // ...
    }
    Text {
        id: label
        anchors.horizontalCenter: pic.horizontalCenter
        anchors.top: pic.bottom
        anchors.topMargin: 5
        // ...
    }
}

画像の右側にアンカーされたテキストの左側に配置され、マージンが設定されています。両方の y プロパティのデフォルト値は 0 です。
Item {
    Image {
        id: pic
        // ...
    }
    Text {
        id: label
        anchors.left: pic.right
        anchors.leftMargin: 5
        // ...
    }
}

anchors.fill これにより、あるアイテムのジオメトリを別のアイテムと同じにする便利な方法が提供され、4つの方向アンカーすべてを接続することと同等になります。

アンカー値をクリアするには、undefined に設定します。

注: アイテムをアンカーできるのは 、兄弟要素または親要素のみです

詳細については、「アンカーレイアウト」を参照してください。

clip : bool

このプロパティは、クリッピングが有効かどうかにかかわらず保持されます。デフォルトのクリップ値はfalse です。

クリッピングが有効になっている場合、アイテムは自身の描画および子要素の描画を、そのバウンディング矩形に合わせてクリップします。

注: クリップ矩形常に軸に揃えられます。Image::rotation のように、transforms を使用してclip を指定することはサポートされていません。

注:テキストレイアウトは 、パフォーマンス向上のためにアドバンスベースのメトリクスを使用しており、レンダリングされたインクの境界に対してピクセル単位の正確さを追求するものではありません。その結果、グリフのインク(オーバーハング、ベアリング、マークの位置などによるもの)が、明示的に指定されたアイテムの幅からわずかにはみ出す場合があります。 通常これは問題になりませんが、クリップが有効になっている場合、このようなまれなオーバーハングが、テキストが切り取られたように見えることがあります。厳密な視覚的な範囲の保持が必要な場合は、クリッピング対象にわずかな余白を残すことを検討してください(たとえば、少し大きめの親要素をクリップ対象にしたり、クリップ対象のサイズを大きくしてパディングやアンカーで調整したりするなど)。

enabled : bool

このプロパティは、アイテムがタッチイベントを受け取るかどうかを指定します。デフォルトでは true です。

このプロパティを設定すると、子アイテムのenabled 値に直接影響します。false に設定すると、すべての子アイテムのenabled 値もfalse になります。true に設定すると、子アイテムのenabled 値は、明示的にfalse に設定されていない限り、true に戻ります。

visibleも参照してください

height : real

width : real

x : real

y : real

項目の位置とサイズを定義します。デフォルト値は0 です。

(x, y) の位置は、parent に対する相対位置です。

Item { x: 100; y: 100; width: 100; height: 100 }

implicitHeight : real

implicitWidth : real

width またはheight が指定されていない場合、アイテムの自然な幅または高さを定義します。

ほとんどの項目のデフォルトの暗黙的なサイズは 0x0 ですが、ImageText など、上書きできない固有の暗黙的なサイズを持つ項目もあります。

暗黙的なサイズを設定することは、コンテンツに基づいて推奨サイズを持つコンポーネントを定義するのに役立ちます。例えば、次のような場合です。

// Label.qml
import QtQuick 2.15

Item {
    property alias icon: image.source
    property alias label: text.text
    implicitWidth: text.implicitWidth + image.implicitWidth
    implicitHeight: Math.max(text.implicitHeight, image.implicitHeight)
    Image { id: image }
    Text {
        id: text
        anchors.left: image.right; anchors.right: parent.right
        anchors.verticalCenter: parent.verticalCenter
    }
}

opacity : real

このプロパティは、アイテムの不透明度を保持します。不透明度は、0.0(完全に透明)から1.0(完全に不透明)までの数値で指定されます。デフォルト値は1.0です。

このプロパティが設定されると、指定された不透明度は子アイテムにも個別に適用されます。これにより、状況によっては意図しない結果が生じる場合があります。たとえば、以下の2番目の長方形のセットでは、赤い長方形に不透明度0.5が指定されていますが、この設定は、子アイテムである青い長方形に不透明度が指定されていなくても、その不透明度に影響を与えています。

透明度のない、赤い長方形と重なっている青い長方形。

Item {
    Rectangle {
        color: "red"
        width: 100; height: 100
        Rectangle {
            color: "blue"
            x: 50; y: 50; width: 100; height: 100
        }
    }
}

赤い長方形と重なっている青い長方形。両方の長方形の透明度は50%です。

Item {
    Rectangle {
        opacity: 0.5
        color: "red"
        width: 100; height: 100
        Rectangle {
            color: "blue"
            x: 50; y: 50; width: 100; height: 100
        }
    }
}

項目の不透明度を変更しても、その項目がユーザー入力イベントを受け取るかどうかに影響はありません。(対照的に、visible またはenabled プロパティをfalse に設定すると、タッチイベントが停止します。)

visible」も参照してください

parent : Item

この読み取り専用プロパティは、項目の視覚的な親を保持します。

詳細については、「視覚的な親」を参照してください。

注: このプロパティは読み取り専用であるため 、実行時に項目の視覚的な親を変更することはできません。

state : string

このプロパティには、アイテムの現在の状態の名前が格納されます。

アイテムがデフォルトの状態、つまり明示的な状態が設定されていない場合、このプロパティには空の文字列が格納されます。同様に、このプロパティを空の文字列に設定することで、アイテムをデフォルトの状態に戻すことができます。

注:この プロパティは、.qml ファイル内のルート Item にのみ存在します。

状態の使用も参照してください

states : list<State>

このプロパティには、このアイテムの可能な状態のリストが格納されています。このアイテムの状態を変更するには、state プロパティをこれらの状態のいずれかに設定するか、state プロパティを空の文字列に設定して、アイテムをデフォルトの状態に戻します。

このプロパティは、State オブジェクトのリストとして指定されます。たとえば、以下は「red_color」と「blue_color」という状態を持つアイテムです。

import QtQuick 2.15

Rectangle {
    id: root
    width: 100; height: 100

    states: [
        State {
            name: "red_color"
            PropertyChanges { root.color: "red" }
        },
        State {
            name: "blue_color"
            PropertyChanges { root.color: "blue" }
        }
    ]
}

状態や 遷移 の使用方法の詳細については、「状態アニメーションおよび遷移 の使用」を参照してください。

transitions」も参照してください

transitions : list<Transition>

このプロパティには、このアイテムの遷移のリストが格納されます。これらは、アイテムのstate が変更されるたびに、そのアイテムに適用される遷移を定義します。

このプロパティは、Transition オブジェクトのリストとして指定されます。例:

import QtQuick 2.15

Item {
    transitions: [
        Transition {
            //...
        },
        Transition {
            //...
        }
    ]
}

状態遷移 の使用方法の詳細については、「状態アニメーション、および遷移の使用」を参照してください。

states」も参照してください

visible : bool

このプロパティは、その項目が表示されるかどうかを指定します。デフォルトでは true です。

このプロパティを設定すると、子項目の表示状態が直接影響を受けます。false に設定すると、すべての子項目のvisible の値もfalse になります。true に設定すると、子項目のvisible の値は、明示的にfalse に設定されていない限り、true に戻ります。

このプロパティがfalse に設定されている場合、そのアイテムはタッチイベントを受け取らなくなります。

注:この プロパティは、このアイテムが画面外に移動した場合や、opacity が 0 に変更された場合でも変更されません。

opacity 」および「enabledも参照してください

z : real

兄弟アイテムの重ね順を設定します。デフォルトの重ね順は 0 です。

スタック値が大きいアイテムは、スタック順序が小さい兄弟アイテムの上に描画されます。スタック値が同じアイテムは、出現順に上から下へと描画されます。スタック値が負のアイテムは、親要素のコンテンツの下に描画されます。

次の例は、重ね順によるさまざまな効果を示しています。

青い長方形が赤い長方形の上に重なっているのは、青い長方形が後から表示されたためである。

同じz - 後に追加された子要素が先に追加された子要素の上に表示される:
Item {
    Rectangle {
        color: "red"
        width: 100; height: 100
    }
    Rectangle {
        color: "blue"
        x: 50; y: 50; width: 100; height: 100
    }
}

赤い長方形は、青い長方形よりも積み重ね値が高いため、その上に重なっています。

z が高いものが上に表示される場合:
Item {
    Rectangle {
        z: 1
        color: "red"
        width: 100; height: 100
    }
    Rectangle {
        color: "blue"
        x: 50; y: 50; width: 100; height: 100
    }
}

青い長方形が赤い長方形の子要素であるため、青い長方形が赤い長方形の上に重なって表示されています。

同じz - 子要素が親要素より上に表示される場合:
Item {
    Rectangle {
        color: "red"
        width: 100; height: 100
        Rectangle {
            color: "blue"
            x: 50; y: 50; width: 100; height: 100
        }
    }
}

青い長方形は、スタック値が負であるため、赤い長方形の下に重ねられています。

下側のz
Item {
    Rectangle {
        color: "red"
        width: 100; height: 100
        Rectangle {
            z: -1
            color: "blue"
            x: 50; y: 50; width: 100; height: 100
        }
    }
}

メソッドのドキュメント

Item childAt(real x, real y)

このアイテムの座標系において、点 (x,y) で検出された、最初に表示されている子アイテムを返します。

そのような項目が存在しない場合は、null を返します。

void forceActiveFocus()

そのアイテムにアクティブなフォーカスを当てます。

point mapFromItem(Item item, real x, real y)

point mapFromItem(Item item, point p)

rect mapFromItem(Item item, real x, real y, real width, real height)

rect mapFromItem(Item item, rect r)

item の座標系にある点(xy )または矩形(xywidthheight )を、この項目の座標系から変換し、変換後の座標に対応するpoint またはrect を返します。

警告: ImageText 、およびStaticText に対する変換は Qt Quick Ultralite では異なる方法で適用されるため、マッピングでは無視されます。

item の値がnull の場合、ルートQMLビューの座標系からの点または矩形がマッピングされます。

point mapToItem(Item item, real x, real y)

point mapToItem(Item item, point p)

rect mapToItem(Item item, real x, real y, real width, real height)

rect mapToItem(Item item, rect r)

アイテムの座標系にある点(xy )または矩形(xywidthheight )を、このitem の座標系にマッピングし、マッピングされた座標に対応するpoint またはrect を返します。

警告: ImageText 、およびStaticText に対する変換は Qt Quick Ultralite では異なる方法で適用されるため、マッピングでは無視されます。

item の値がnull の場合、この点または矩形はルート QML ビューの座標系にマッピングされます。

特定の Qt ライセンスの下で利用可能です。
詳細はこちらをご覧ください。