このページでは

C

Control QML Type

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

Import Statement: import QtQuick.Controls
Since: Qt Quick Ultralite 1.0
Inherits:

Item

Inherited By:

AbstractButton, Button, CheckBox, Dial, ProgressBar, RadioButton, Slider, SwipeView, and Switch

プロパティ

詳細な説明

コントロールは、ユーザーインターフェースコントロールの基本型です。プラットフォームインターフェースから入力イベントを受け取り、画面上に自身の表現を描画します。

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

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

背景アイテム、コンテンツアイテム、およびパディングのプロパティを示す、コントロールレイアウトの図。

コントロールのimplicitWidth およびimplicitHeight は、通常、背景およびコンテンツ項目の暗黙的なサイズに、インセットやパディングを加えたものに基づいています。これらのプロパティは、明示的なwidthheight が指定されていない場合に、コントロールのサイズを決定します。

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

Control {
    padding: 10

    contentItem: Text {
        text: "Content"
    }
}

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

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

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

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

イベント処理

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

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

    CheckBox {
        anchors.fill: parent
    }
}

コントロールのスタイル設定も参照してください

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

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

このプロパティは、背景の下部インセットを指定します。

Control Layout 」および「topInsetも参照してください

bottomPadding : real

このプロパティは、下側のパディングを指定します。

Control LayoutpaddingtopPadding 、およびavailableHeightも参照してください

contentItem : Item

このプロパティには、ビジュアルコンテンツ項目が格納されます。

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

注: コンテンツ項目は 、コントロールのpadding 内に収まるように、自動的に配置およびサイズ調整されます。contentItemのxywidth 、およびheight プロパティへのバインディングは反映されません。

注:ほとんどの コントロール、コンテンツ項目の暗黙的なサイズを使用して、コントロール自体の暗黙的なサイズを計算します。コンテンツ項目をカスタム項目に置き換える場合は、その項目に対して適切な暗黙的なサイズを設定することも検討する必要があります(Text のように、独自の暗黙的なサイズを持つ項目を除く)。

Control Layout 」および「paddingも参照してください

font : font

このプロパティには、コントロールの現在のフォントが格納されます。

このプロパティは、コントロールが要求するフォントを指定します。このフォントは、標準コンポーネントをレンダリングする際に、コントロールのスタイルによって使用されます。アプリケーションにおいて、プラットフォームやスタイルが異なると、定義されるフォントも異なることが一般的です。

コントロールのスタイルによって上書きされていない場合、デフォルトのフォントファミリーはMCU.Config.defaultFontFamily によって決まります。また、特定の種類のコントロールには、特別なデフォルトのフォントが設定されている場合もあります。

注: Qt Quick コントロールとは異なり 、fontプロパティはコントロールの子要素には伝播しません。

利用可能なフォントプロパティの完全な一覧については、Text 型のドキュメントを参照してください。

テキストのレンダリングとフォント」および「Textも参照してください

leftInset : real

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

Control Layout 」および「rightInsetも参照してください

leftPadding : real

このプロパティは、左側のパディングを指定します。

Control LayoutpaddingrightPadding 、およびavailableWidthも参照してください

padding : real

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

パディングは、コンテンツ項目の各辺と背景項目の間に余白を追加し、実質的にコンテンツ項目のサイズを制御します。コントロールの特定の辺に対するパディング値を指定するには、その辺に関連するプロパティを設定します。

注:スタイルによって、 特定のコントロールのデフォルトのパディングの指定方法が異なる場合があります 。また、そのスタイルの基盤となるデザインガイドラインの進化に伴い、これらの指定方法は将来変更される可能性があります。こうした変更が指定したパディング値に影響を与えないようにするには、利用可能なプロパティの中で最も具体的なものを使用することをお勧めします。たとえば、padding プロパティを設定する代わりに:

padding: 0

代わりに、それぞれの特定のプロパティを設定してください:

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

関連項目: Control LayoutavailableWidthavailableHeighttopPaddingleftPaddingrightPadding 、およびbottomPadding

rightInset : real

このプロパティは、背景の適切なインセットを指定します。

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

rightPadding : real

このプロパティは適切なパディングを保持しています。

Control LayoutpaddingleftPadding 、およびavailableWidthも参照してください

spacing : real

このプロパティは間隔を指定します。

間隔は、複数の構成要素や反復的な構成要素を持つコントロールで役立ちます。たとえば、一部のスタイルでは、CheckBox のテキストとインジケーター間の距離を決定するために間隔が使用されます。間隔はControlによって強制されるものではないため、スタイルごとに解釈が異なり、完全に無視される場合もあります。

topInset : real

このプロパティは、背景の上部インセットを指定します。

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

topPadding : real

このプロパティは、上方向のパディングを指定します。

関連項目: Control LayoutpaddingbottomPadding 、およびavailableHeight

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