このページでは

StyleReader QML Type

特定のコントロールのアクティブ スタイルからプロパティを読み込みます。詳細...

Import Statement: import Qt.labs.StyleKit
Inherits:

ControlStyleProperties

プロパティ

詳細説明

スタイルリーダーは Qt Quick Controlsactive styleコントロールとそのデリゲートがバインドするすべてのスタイル プロパティ(backgroundsindicatorshandlestextpadding など)を公開します。すべての組み込みStyleKit コントロールは、この目的のために内部的に StyleReader を使用します。

ステート プロパティ(hoveredpressedfocusedcheckedhighlighted など)は、コントロールのステートを StyleReader に伝えます。これらを使用して、ThemesStyleVariationsfallback types 、プロパティのプロパゲーションを考慮しながら、Style から正しいプロパティ値を解決して読み取ります。

CustomControl を実装する場合は、組み込みコントロールと同じアプローチに従うことができます:

// Main.qml

component CustomButton : Rectangle {
    StyleReader {
        id: styleReader
        controlType: StyleReader.Button
        hovered: hoverHandler.hovered
        pressed: tapHandler.pressed
        palette: app.palette
    }

    implicitWidth: styleReader.background.implicitWidth
    implicitHeight: styleReader.background.implicitHeight
    color: styleReader.background.color
    radius: styleReader.background.radius

    HoverHandler { id: hoverHandler }
    TapHandler { id: tapHandler }

    Text {
        font: styleReader.font
        anchors.centerIn: parent
        text: "ok"
    }
}

注: ControlStyleProperties から継承されたスタイルプロパティは、Style に直接マッピングされません。その代わりに、transition がアクティブな間に補間される可能性のある値のキャッシュを反映します。これらに書き込んでもStyle の対応するプロパティは更新されず、進行中の遷移を妨害する可能性があります。スタイル・プロパティを変更する必要がある場合は、Style に直接書き込んでください。

注意: Qt.labsモジュールの型は、将来のバージョンでも互換性が保たれることは保証されていません。

CustomControlStyleStyleVariation.controlTypeも参照して ください。

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

checked : bool

コントロールがチェックされているかどうか。

コントロールのchecked プロパティに設定します。

デフォルト値はfalse です。

ControlStateStyle.checkedも参照してください

controlType : enumeration

このリーダがStyle のどのコントロールタイプからプロパティを読み取るかを識別する。これは、以下の定義済みの値のいずれかに設定するか、Style で定義されているcustom control type に設定することができます。

定数説明
StyleReader.ButtonButton
StyleReader.CheckBoxCheckBox
StyleReader.ComboBoxComboBox
StyleReader.FrameFrame
StyleReader.GroupBoxGroupBox
StyleReader.ItemDelegateItemDelegate
StyleReader.LabelLabel
StyleReader.MenuMenu
StyleReader.DialogDialog
StyleReader.PagePage
StyleReader.PanePane
StyleReader.PopupPopup
StyleReader.ProgressBarProgressBar
StyleReader.RadioButtonRadioButton
StyleReader.ScrollBarScrollBar
StyleReader.ScrollViewScrollView
StyleReader.SearchFieldSearchField
StyleReader.SliderSlider
StyleReader.SpinBoxSpinBox
StyleReader.SwitchSwitch
StyleReader.TabBarTabBar
StyleReader.TabButtonTabButton
StyleReader.TextAreaTextArea
StyleReader.TextFieldTextField
StyleReader.ToolBarToolBar
StyleReader.ToolButtonToolButton
StyleReader.ToolSeparatorToolSeparator

StyleVariation.controlTypeも参照

enabled : bool

コントロールが有効かどうか。

コントロールのenabled プロパティに設定する。

デフォルト値はtrue です。

ControlStyleState.disabledも参照してください

focused : bool

コントロールにアクティブフォーカスがあるかどうか。

コントロールのactiveFocus プロパティに設定します。

デフォルト値はfalse です。

ControlStateStyle.focusedも参照してください

font : font [read-only]

style 。これは、スタイルのtext プロパティで設定されたフォントのオーバーライドも考慮する。

コントロールのfont プロパティをこのプロパティにバインドする。

注意: hoveredpressedpalette などのプロパティ(コントロールからStyleReader に転送される)とは異なり、フォントは出力です。コントロールのfont プロパティをこの値にバインドします。

global : ControlStyleProperties [read-only]

進行中のtransition をバイパスして、スタイル プロパティへの直接アクセスを提供します。

状態遷移が進行している間、StyleReader から読み取られたスタイル プロパティは、補間された値を返すことがあります。プロパティ パスの先頭にglobal を付けることで、遷移をバイパスし、終了状態の値を即座に取得することができます。

たとえば、hovered からpressed に遷移する場合、background.color は、hovered 状態のcolorpressed 状態の色の間の補間値を返すことがあります。global.background.color一方、 は、押された状態の色を直接返します。

transitionsEnabledも参照

highlighted : bool

コントロールがハイライトされているかどうか。

コントロールのhighlighted プロパティに設定します。

デフォルト値はfalse です。

ControlStateStyle.highlightedも参照してください

hovered : bool

コントロールがホバーされているかどうか。

コントロールのhovered プロパティに設定します。

デフォルト値はfalse です。

ControlStateStyle.hoveredも参照してください

palette : palette

コントロールのパレット。StyleKit は、Stylepalette をバインドするカラー・プロパティを解決するためにこれを使用する。

これをコントロールのpalette プロパティにバインドします。

Style.paletteも参照

pressed : bool

コントロールが押されているかどうか。

コントロールのpressed プロパティに設定します。

デフォルト値はfalse です。

ControlStateStyle.pressedも参照してください

vertical : bool

コントロールが縦向きかどうか。

これをコントロールのorientation にバインドする。

デフォルト値はfalse です。

ControlStateStyle.verticalも参照してください

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