このページでは

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

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

Control {
    padding: 10

    contentItem: Text {
        text: "Content"
    }
}

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

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

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 Layout 、padding 、topPadding 、およびavailableHeightも参照してください 。

contentItem : Item

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

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

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

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

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

font : font

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

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

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

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

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

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

leftInset : real

このプロパティは、背景の左側の余白を指定します。

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

leftPadding : real

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

Control Layout 、padding 、rightPadding 、およびavailableWidthも参照してください 。

padding : real

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

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

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

padding: 0

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

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

関連項目: Control Layout 、availableWidth 、availableHeight 、topPadding 、leftPadding 、rightPadding 、およびbottomPadding 。

rightInset : real

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

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

rightPadding : real

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

Control Layout 、padding 、leftPadding 、およびavailableWidthも参照してください 。

spacing : real

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

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

topInset : real

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

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

topPadding : real

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

関連項目: Control Layout 、padding 、bottomPadding 、およびavailableHeight 。

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