Control QML Type

すべてのコントロールに共通する機能を提供する抽象基底型。詳細...

プロパティ

詳細説明

コントロールは、ユーザー インターフェイス コントロールの基本型です。ウィンドウシステムから入力イベントを受け取り、それ自身の表現を画面に描画します。

コントロールのレイアウト

次の図は、典型的なコントロールのレイアウトを示している:

コントロールのimplicitWidthimplicitHeight は、通常、背景とコンテンツ・アイテムの暗黙のサイズと、インセットとパディングに基づいています。これらのプロパティは、明示的なwidth またはheight が指定されていない場合のコントロールの大きさを決定します。

contentItem のジオメトリはパディングによって決定されます。次の例では、コントロールの境界とそのコンテンツの間に10pxのパディングを確保しています:

Control {
    padding: 10

    contentItem: Text {
        text: "Content"
    }
}

background アイテムは、インセットまたは明示的なサイズが指定されていない限り、コントロールの幅と高さ全体を埋めます。背景のインセットは、コントロールの視覚的なサイズに影響を与えずに、タッチ可能/インタラクティブな領域を拡張するのに便利です。これはタッチデバイスで、コントロールが小さすぎてユーザーが操作できないことがないようにするためによく使われます。インセットはコントロールのサイズに影響するため、レイアウトなどで占めるスペースに影響します。

負のインセットを使用すると、背景をコントロールより大きくすることができます。次の例では、負のインセットを使用して、コントロールの境界の外側に影を配置しています:

Control {
    topInset: -2
    leftInset: -2
    rightInset: -6
    bottomInset: -6

    background: BorderImage {
        source: ":/images/shadowed-background.png"
    }
}

イベント処理

非インタラクティブ・インジケータを除くすべてのコントロールは、クリックやタッチを下のアイテムに伝えません。例えば、下の例のconsole.log() 呼び出しは、MouseArea がシーン内で下にあるため、Pane をクリックしても実行されることはありません:

MouseArea {
    anchors.fill: parent
    onClicked: console.log("MouseArea was clicked")

    Pane {
        anchors.fill: parent
    }
}

ホイールイベントは、wheelEnabledtrue の場合、コントロールによって消費されます。

ApplicationWindowContainerUsing Qt Quick Controls types in property declarationsも参照してください

プロパティ ドキュメント

availableHeight : real [read-only]

このプロパティは、コントロールのheight から垂直パディングを差し引いた後のcontentItem で利用可能な高さを保持します。

Control Layout,padding,topPadding, およびbottomPaddingも参照のこと


availableWidth : real [read-only]

このプロパティは、コントロールのwidth から水平方向のパディングを差し引いた後の、contentItem で利用可能な幅を保持する。

Control Layout,padding,leftPadding, およびrightPadding参照のこと


background : Item

このプロパティは背景項目を保持する。

Button {
    id: control
    text: qsTr("Button")
    background: Rectangle {
        implicitWidth: 100
        implicitHeight: 40
        opacity: enabled ? 1 : 0.3
        color: control.down ? "#d0d0d0" : "#e0e0e0"
    }
}

備考: 背景項目のサイズが明示的に指定されていない場合、自動的にコントロールのサイズに従う。ほとんどの場合、背景項目の幅や高さを指定する必要はない。

注意: ほとんどのコントロールは、コントロール自体の暗黙のサイズを計算するために、背景アイテムの暗黙のサイズを使用する。背景アイテムをカスタムのものに置き換える場合、そのアイテムに適切な暗黙のサイズを提供することも考慮する必要があります(Image のように、独自の暗黙のサイズを持つアイテムを除く)。

Control Layoutも参照してください


bottomInset : real [since QtQuick.Controls 2.5 (Qt 5.12)]

このプロパティは、背景のボトムインセットを保持します。

このプロパティは QtQuick.Controls 2.5 (Qt 5.12) で導入されました。

Control Layout およびtopInset参照して ください。


bottomPadding : real

このプロパティは、ボトムパディングを保持します。明示的に設定しない限り、値はverticalPadding と等しくなります。

Control Layout,padding,topPadding,verticalPadding,availableHeightも参照


contentItem : Item

このプロパティはビジュアル・コンテンツ・アイテムを保持する。

Button {
    id: control
    text: qsTr("Button")
    contentItem: Label {
        text: control.text
        verticalAlignment: Text.AlignVCenter
    }
}

注意: コンテンツアイテムは、コントロールのpadding 内に収まるように自動的に配置され、サイズが変更される。contentItem のx,y,width,height プロパティへのバインディングは尊重されない。

注意: ほとんどのコントロールは、コントロール自体の暗黙のサイズを計算するために、内容項目の暗黙のサイズを使用する。コンテンツ・アイテムをカスタム・アイテムに置き換える場合、そのアイテムに適切な暗黙的サイズを提供することも考慮する必要があります(Text のように独自の暗黙的サイズを持つアイテムを除く)。

Control Layoutpaddingも参照して ください。


focusReason : enumeration

このプロパティは、最後にフォーカスが変更された理由を保持します。

このプロパティの値は、フォーカスが移動するたびに Qt によって変更されるため、このプロパティを自分で設定する必要はありません。

注意: このプロパティは、アイテムがactive focus を持つかどうかを示すのではなく、アイテムがフォーカスを得たか失ったかの理由を示します。

定数説明
Qt.MouseFocusReasonマウス操作が発生した。
Qt.TabFocusReasonTab キーが押された。
Qt.BacktabFocusReasonバックタブが発生した。この入力には、ShiftキーまたはControlキーが含まれます。
Qt.ActiveWindowFocusReasonウィンドウシステムがこのウィンドウをアクティブまたは非アクティブにした。
Qt.PopupFocusReasonアプリケーションがポップアップを開いたり閉じたりして、キーボードのフォーカスを掴んだり離したりした。
Qt.ShortcutFocusReasonユーザーがラベルのバディショートカットを入力した。
Qt.MenuBarFocusReasonメニューバーにフォーカスが当たった。
Qt.OtherFocusReason通常はアプリケーション固有の理由。

Item::activeFocus およびvisualFocusも参照してください


font : font

このプロパティは、コントロールに現在設定されているフォントを保持する。

このプロパティは、コントロールが要求するフォントを記述する。フォントは、標準コンポーネントをレンダリングするときにコントロールのスタイルによって使用され、カスタムコントロールがネイティブプラットフォームのネイティブルックアンドフィールとの一貫性を維持できるようにする手段として利用できます。プラットフォームやスタイルが異なると、アプリケーションで使用するフォントも異なるのが一般的です。

デフォルト・フォントはシステム環境に依存します。ApplicationWindow は、すべてのコントロールのデフォルトとして機能するシステム/テーマ・フォントを維持します。また、特定の種類のコントロールには、特別なフォントのデフォルトがあるかもしれません。コントロールのデフォルト・フォントを設定するには、次のようにします:

最後に、フォントは Qt のフォントデータベースと照合され、最適なものが見つかります。

コントロールは、明示的なフォントプロパティを親から子へ伝搬します。コントロールのフォントの特定のプロパティを変更すると、そのプロパティはコントロールのすべての子に伝わり、そのプロパティのシステムデフォルトを上書きします。

Page {
    font.family: "Courier"

    Column {
        Label {
            text: qsTr("This will use Courier...")
        }

        Switch {
            text: qsTr("... and so will this")
        }
    }
}

利用可能なフォント・プロパティの完全なリストについては、font QML Value Type ドキュメントを参照してください。


horizontalPadding : real [since QtQuick.Controls 2.5 (Qt 5.12)]

このプロパティは水平方向のパディングを保持します。明示的に設定されない限り、値はpadding に等しい。

このプロパティは、QtQuick.Controls 2.5(Qt 5.12)で導入されました。

Control Layout,padding,leftPadding,rightPadding,verticalPaddingも参照してください


hoverEnabled : bool

このプロパティは、コントロールがホバーイベントを受け入れるかどうかを決定します。デフォルト値はApplication.styleHints.useHoverEffects です。

このプロパティを設定すると、hoverEnabled が明示的に設定されていないすべての子コントロールに値が伝搬されます。

また、QT_QUICK_CONTROLS_HOVER_ENABLED 環境変数を設定することで、すべての Qt Quick Controls アプリケーションでホバー効果を有効または無効にすることができます。

hoveredも参照してください


hovered : bool [read-only]

このプロパティは、コントロールがホバーされているかどうかを保持します。

hoverEnabledも参照して ください。


implicitBackgroundHeight : real [read-only, since QtQuick.Controls 2.5 (Qt 5.12)]

このプロパティは、暗黙の背景の高さを保持します。

値はbackground ? background.implicitHeight : 0 と等しくなります。

これは通常、implicitContentHeight と共に、implicitHeight を計算するために使用されます:

Control {
    implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
                             implicitContentHeight + topPadding + bottomPadding)
}

このプロパティは QtQuick.Controls 2.5 (Qt 5.12) で導入されました。

implicitBackgroundWidth およびimplicitContentHeightも参照してください


implicitBackgroundWidth : real [read-only, since QtQuick.Controls 2.5 (Qt 5.12)]

このプロパティは、暗黙の背景幅を保持します。

値はbackground ? background.implicitWidth : 0 と同じです。

これは通常、implicitContentWidth とともに、implicitWidth を計算するために使用されます:

Control {
    implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
                            implicitContentWidth + leftPadding + rightPadding)
}

このプロパティは QtQuick.Controls 2.5 (Qt 5.12) で導入されました。

implicitBackgroundHeight およびimplicitContentWidthも参照のこと


implicitContentHeight : real [read-only, since QtQuick.Controls 2.5 (Qt 5.12)]

このプロパティは、暗黙的なコンテンツの高さを保持する。

基本コントロールの場合、値はcontentItem ? contentItem.implicitHeight : 0 に等しい。ContainerまたはPaneを継承する型の場合、値はコンテンツの子に基づいて計算される。

これは通常、implicitBackgroundHeight とともに、implicitHeight を計算するために使用されます:

Control {
    implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
                             implicitContentHeight + topPadding + bottomPadding)
}

このプロパティは、QtQuick.Controls 2.5(Qt 5.12)で導入されました。

implicitContentWidth およびimplicitBackgroundHeightも参照してください


implicitContentWidth : real [read-only, since QtQuick.Controls 2.5 (Qt 5.12)]

このプロパティは、暗黙のコンテンツ幅を保持します。

基本コントロールの場合、値はcontentItem ? contentItem.implicitWidth : 0 に等しくなります。Container または Pane を継承するタイプでは、値はコンテンツの子に基づいて計算されます。

これは通常、implicitBackgroundWidth とともに、implicitWidth を計算するために使用されます:

Control {
    implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
                            implicitContentWidth + leftPadding + rightPadding)
}

このプロパティは、QtQuick.Controls 2.5(Qt 5.12)で導入されました。

implicitContentHeight およびimplicitBackgroundWidthも参照してください


leftInset : real [since QtQuick.Controls 2.5 (Qt 5.12)]

このプロパティは、背景の左インセットを保持します。

このプロパティは、QtQuick.Controls 2.5 (Qt 5.12) で導入されました。

Control Layout およびrightInset参照して ください。


leftPadding : real

このプロパティは、左パディングを保持します。明示的に設定しない限り、値はhorizontalPadding と等しくなります。

Control Layout,padding,rightPadding,horizontalPadding,availableWidthも参照


locale : Locale

このプロパティはコントロールのロケールを保持する。

このプロパティには、データや数値をフォーマットするためのロケール固有のプロパティが含まれています。特別なロケールが設定されていない限り、これは親のロケールかデフォルトのロケールです。

コントロールは親から子へロケールを伝達します。コントロールのロケールを変更すると、そのロケールはコントロールのすべての子に伝わり、システムのデフォルトロケールを上書きします。

mirroredも参照してください


mirrored : bool [read-only]

このプロパティは、コントロールがミラーされているかどうかを保持します。

このプロパティは便宜上用意されています。つまり、LayoutMirroring.enabledtrue の場合です。

Qt 6.2 では、locale プロパティはこのプロパティに影響しなくなりました。

LayoutMirroring およびRight-to-left User Interfacesも参照してください


padding : real

このプロパティは、デフォルトのパディングを保持します。

パディングは、コンテンツアイテムの各辺と背景アイテムの間にスペースを追加し、コンテンツアイテムのサイズを効果的に制御します。コントロールの特定の辺のパディング値を指定するには、関連するプロパティを設定します:

注: スタイルによって、特定のコントロールのデフォルトのパディングの指定方法が異なる場合があり、これらの方法は、スタイルが基づいているデザイン・ガイドラインが進化するにつれて変更される場合があります。このような変更が指定したパディング値に影響しないようにするには、利用可能なプロパティの中で最も具体的なものを使用するのが最善です。例えば、padding プロパティを設定するのではなく、次のように各特定プロパティを設定します:

padding: 0

を設定する代わりに、各特定プロパティを設定します:

leftPadding: 0
rightPadding: 0
topPadding: 0
bottomPadding: 0

Control Layout,availableWidth,availableHeight,topPadding,leftPadding,rightPadding,bottomPaddingも参照してください


rightInset : real [since QtQuick.Controls 2.5 (Qt 5.12)]

このプロパティは、背景の右インセットを保持します。

このプロパティは QtQuick.Controls 2.5 (Qt 5.12) で導入されました。

Control Layout およびleftInsetも参照してください


rightPadding : real

このプロパティは、右のパディングを保持します。明示的に設定しない限り、値はhorizontalPadding と等しくなります。

Control Layout,padding,leftPadding,horizontalPadding,availableWidthも参照して ください。


spacing : real

このプロパティはスペーシングを保持する。

スペーシングは、複数の、または繰り返しの構成要素を持つコントロールに有用である。例えば、CheckBox のテキストとインジケータの間の距離を決定するために、スペーシングを使用するスタイルがあります。スペーシングはControlによって強制されるものではないので、各スタイルによって解釈が異なり、完全に無視するものもあります。


topInset : real [since QtQuick.Controls 2.5 (Qt 5.12)]

このプロパティは、背景のトップインセットを保持します。

このプロパティは、QtQuick.Controls 2.5(Qt 5.12)で導入されました。

Control Layout およびbottomInsetも参照してください


topPadding : real

このプロパティは、上部のパディングを保持します。明示的に設定しない限り、値はverticalPadding と等しくなります。

Control Layout,padding,bottomPadding,verticalPadding,availableHeightも参照して ください。


verticalPadding : real [since QtQuick.Controls 2.5 (Qt 5.12)]

このプロパティは垂直方向のパディングを保持します。明示的に設定しない限り、値はpadding に等しい。

このプロパティは QtQuick.Controls 2.5 (Qt 5.12) で導入されました。

Control Layout,padding,topPadding,bottomPadding,horizontalPaddingも参照してください


visualFocus : bool [read-only]

このプロパティは、コントロールがビジュアル・フォーカスを持つかどうかを保持する。コントロールがアクティブなフォーカスを持ち、フォーカスの理由がQt.TabFocusReason,Qt.BacktabFocusReason,Qt.ShortcutFocusReason のいずれかの場合、このプロパティはtrue になります。

一般に、キー・フォーカスを視覚化するには、このプロパティをItem::activeFocus より優先する。これにより、タッチやマウスで操作する場合ではなく、キーで操作する場合にのみキーフォーカスが可視化されます。

focusReason およびItem::activeFocusも参照のこと


wheelEnabled : bool

このプロパティは、コントロールがホイールイベントを処理するかどうかを決定する。デフォルト値はfalse です。

注意: Flickable のようなスクロール可能なアイテム内のコントロールでホイールイベントを有効にする場合、コントロールがイベントを消費するため、Flickable のスクロールが中断されるので注意が必要です。


本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。