このページでは

QStyle Class

QStyle クラスは、GUI の外観や操作感をカプセル化する抽象基底クラスです。詳細...

ヘッダー: #include <QStyle>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
継承元: QObject
継承元:

QCommonStyle

パブリック型

enum ComplexControl { CC_SpinBox, CC_ComboBox, CC_ScrollBar, CC_Slider, CC_ToolButton, …, CC_CustomBase }
enum ContentsType { CT_CheckBox, CT_ComboBox, CT_HeaderSection, CT_LineEdit, CT_Menu, …, CT_MdiControls }
enum ControlElement { CE_PushButton, CE_PushButtonBevel, CE_PushButtonLabel, CE_DockWidgetTitle, CE_Splitter, …, CE_ShapedFrame }
enum PixelMetric { PM_ButtonMargin, PM_DockWidgetTitleBarButtonMargin, PM_ButtonDefaultIndicator, PM_MenuButtonIndicator, PM_ButtonShiftHorizontal, …, PM_CustomBase }
enum PrimitiveElement { PE_PanelButtonCommand, PE_FrameDefaultButton, PE_PanelButtonBevel, PE_PanelButtonTool, PE_PanelLineEdit, …, PE_PanelMenu }
enum RequestSoftwareInputPanel { RSIP_OnMouseClickAndAlreadyFocused, RSIP_OnMouseClick }
enum StandardPixmap { SP_TitleBarMinButton, SP_TitleBarMenuButton, SP_TitleBarMaxButton, SP_TitleBarCloseButton, SP_TitleBarNormalButton, …, SP_CustomBase }
flags State
enum StateFlag { State_None, State_Active, State_AutoRaise, State_Children, State_DownArrow, …, State_Small }
enum StyleHint { SH_EtchDisabledText, SH_DitherDisabledText, SH_ScrollBar_ContextMenu, SH_ScrollBar_MiddleClickAbsolutePosition, SH_ScrollBar_LeftClickAbsolutePosition, …, SH_Table_AlwaysDrawLeftTopGridLines }
enum SubControl { SC_None, SC_ScrollBarAddLine, SC_ScrollBarSubLine, SC_ScrollBarAddPage, SC_ScrollBarSubPage, …, SC_All }
flags SubControls
enum SubElement { SE_PushButtonContents, SE_PushButtonFocusRect, SE_PushButtonLayoutItem, SE_PushButtonBevel, SE_CheckBoxIndicator, …, SE_ToolBarHandle }

パブリック関数

QStyle()
virtual ~QStyle()
int combinedLayoutSpacing(QSizePolicy::ControlTypes controls1, QSizePolicy::ControlTypes controls2, Qt::Orientation orientation, QStyleOption *option = nullptr, QWidget *widget = nullptr) const
virtual void drawComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget = nullptr) const = 0
virtual void drawControl(QStyle::ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const = 0
virtual void drawItemPixmap(QPainter *painter, const QRect &rectangle, int alignment, const QPixmap &pixmap) const
virtual void drawItemText(QPainter *painter, const QRect &rectangle, int alignment, const QPalette &palette, bool enabled, const QString &text, QPalette::ColorRole textRole = QPalette::NoRole) const
virtual void drawPrimitive(QStyle::PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const = 0
virtual QPixmap generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap, const QStyleOption *option) const = 0
virtual QStyle::SubControl hitTestComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, const QPoint &position, const QWidget *widget = nullptr) const = 0
virtual QRect itemPixmapRect(const QRect &rectangle, int alignment, const QPixmap &pixmap) const
virtual QRect itemTextRect(const QFontMetrics &metrics, const QRect &rectangle, int alignment, bool enabled, const QString &text) const
virtual int layoutSpacing(QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const = 0
(since 6.1) QString name() const
virtual int pixelMetric(QStyle::PixelMetric metric, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const = 0
virtual void polish(QWidget *widget)
virtual void polish(QApplication *application)
virtual void polish(QPalette &palette)
const QStyle *proxy() const
virtual QSize sizeFromContents(QStyle::ContentsType type, const QStyleOption *option, const QSize &contentsSize, const QWidget *widget = nullptr) const = 0
virtual QIcon standardIcon(QStyle::StandardPixmap standardIcon, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const = 0
virtual QPalette standardPalette() const
virtual int styleHint(QStyle::StyleHint hint, const QStyleOption *option = nullptr, const QWidget *widget = nullptr, QStyleHintReturn *returnData = nullptr) const = 0
virtual QRect subControlRect(QStyle::ComplexControl control, const QStyleOptionComplex *option, QStyle::SubControl subControl, const QWidget *widget = nullptr) const = 0
virtual QRect subElementRect(QStyle::SubElement element, const QStyleOption *option, const QWidget *widget = nullptr) const = 0
virtual void unpolish(QWidget *widget)
virtual void unpolish(QApplication *application)

静的パブリックメンバー

QRect alignedRect(Qt::LayoutDirection direction, Qt::Alignment alignment, const QSize &size, const QRect &rectangle)
int sliderPositionFromValue(int min, int max, int logicalValue, int span, bool upsideDown = false)
int sliderValueFromPosition(int min, int max, int position, int span, bool upsideDown = false)
Qt::Alignment visualAlignment(Qt::LayoutDirection direction, Qt::Alignment alignment)
QPoint visualPos(Qt::LayoutDirection direction, const QRect &boundingRectangle, const QPoint &logicalPosition)
QRect visualRect(Qt::LayoutDirection direction, const QRect &boundingRectangle, const QRect &logicalRectangle)

詳細な説明

Qtには、サポートするプラットフォームの外観に合わせた一連のQStyle実装が含まれています。windows およびfusion スタイルは、Qt Widgets モジュールに組み込まれています。プラットフォームスタイルはスタイルプラグインです。具体的には、Windows 11のFluentデザインに準拠したwindows11 、Windows用のwindowsvista 、macOS用のmacos 、Android用のandroid があります。QStyleFactory は、実行時に利用可能なスタイルを一覧表示し、名前でそれらを作成します。

Qtの組み込みウィジェットは、描画のほぼすべてをQStyleを使用して行い、対応するネイティブウィジェットとまったく同じ外観になるようにしています。以下の画像は、Windows上のwindows11 、windowsvista 、windows の各スタイル、およびfusion とmacos の各スタイルで表示された同じフォームを示しています。

Windows 11 スタイルの、テキストフィールド、コンボボックス、スピンボックス、スライダー、チェックボックス、プログレスバー、およびボタンを備えたフォーム

Windows 11

Windows Vista スタイルの、テキストフィールド、コンボボックス、スピンボックス、スライダー、チェックボックス、プログレスバー、およびボタンを備えたフォーム

Windows Vista

Windows スタイルのテキストフィールド、コンボボックス、スピンボックス、スライダー、チェックボックス、プログレスバー、およびボタンを備えたフォーム

Windows

Fusionスタイルの、テキストフィールド、コンボボックス、スピンボックス、スライダー、チェックボックス、プログレスバー、およびボタンを備えたフォーム

Fusion

Fusionスタイルで、ダークカラーパレットを採用した、テキストフィールド、コンボボックス、スピンボックス、スライダー、チェックボックス、プログレスバー、およびボタンを備えたフォーム

ダークパレットの Fusion

macOSスタイルのテキストフィールド、コンボボックス、スピンボックス、スライダー、チェックボックス、プログレスバー、およびボタンを備えたフォーム

macOS

スタイルの設定

アプリケーション全体のスタイルは、QApplication::setStyle() 関数を使用して設定できます。また、アプリケーションのユーザーが `-style ` コマンドラインオプションを使用して指定することも可能です:

./myapplication -style windows

スタイルが指定されていない場合、Qtはユーザーのプラットフォームやデスクトップ環境に最も適したスタイルを選択します。

また、QWidget::setStyle() 関数を使用して、個々のウィジェットにスタイルを設定することもできます。

スタイル設定方法の選択

変更の程度に合わせて、適切なメカニズムを選択してください:

  • プラットフォームのスタイルを調整するには、QProxyStyle をサブクラス化します。
  • 完全に独自の外観を実装するには、QCommonStyle をサブクラス化します。
  • デザインを宣言的に記述し、Qt Quick Controlsと共有するには、StyleKitとそのQStyleKitStyle を使用します。

「Qt Widgets のスタイル設定手法」では、これらのオプションをQt スタイルシートと比較し、それぞれがどのような場合に適しているかを説明しています。

スタイル対応のカスタムウィジェットの開発

カスタムウィジェットを開発しており、すべてのプラットフォームで見栄えを良くしたい場合は、QStyle 関数を使用して、ウィジェットの描画の一部を実行することができます。たとえば、drawItemText()、drawItemPixmap()、drawPrimitive()、drawControl()、drawComplexControl() などがあります。

ほとんどの QStyle の描画関数は、4 つの引数を取ります:

  • 描画するグラフィカル要素を指定する列挙型値
  • その要素をどのように、どこに描画するかを指定するQStyleOption
  • その要素の描画に使用するQPainter
  • 描画が行われるQWidget (オプション)

たとえば、ウィジェット上にフォーカス矩形を描画したい場合は、次のように記述します:

void MyWidget::paintEvent(QPaintEvent * /* event */)
{
    QPainter painter(this);

    QStyleOptionFocusRect option;
    option.initFrom(this);
    option.backgroundColor = palette().color(QPalette::Window);

    style()->drawPrimitive(QStyle::PE_FrameFocusRect, &option, &painter, this);
}

QStyleは、グラフィカル要素をレンダリングするために必要なすべての情報をQStyleOption から取得します。ウィジェットは、スタイルが特殊効果(macOSでのアニメーション付きデフォルトボタンなど)を実行するために必要となる場合に備えて最後の引数として渡されますが、必須ではありません。 実際、QPainter を適切に設定することで、QStyleを使用してウィジェットだけでなく、あらゆるペイントデバイス上に描画を行うことができます。

QStyleOption PE_FrameFocusRect には、描画可能なさまざまな種類のグラフィカル要素に対応したサブクラスが用意されています。例えば、 は 引数を期待します。QStyleOptionFocusRect

描画操作を可能な限り高速化するため、QStyleOption およびそのサブクラスにはパブリックデータメンバーが用意されています。使用方法の詳細については、QStyleOption クラスのドキュメントを参照してください。

利便性を高めるため、Qt では QStyle、QPainter 、およびQWidget を組み合わせたQStylePainter クラスを提供しています。これにより、

    QStylePainter painter(this);
    ...
painter.drawPrimitive(QStyle::PE_FrameFocusRect, option);

と記述できるようになります。

QPainter painter(this);
    ...
style()->drawPrimitive(QStyle::PE_FrameFocusRect, &option, &painter, this);

カスタムスタイルの作成

カスタムスタイルを作成することで、アプリケーションに独自のルックアンドフィールを与えることができます。これには2つのアプローチがあります。既存のスタイルの特定の側面を変更するには、QProxyStyle をサブクラス化し、変更したい要素の描画やサイズ測定を行う仮想関数を再実装します。プロキシは、それ以外のすべての処理を、ラップしているスタイル(デフォルトではプラットフォームスタイル)に転送します。 完全な外観を実装するには、QCommonStyle をサブクラス化します。このクラスは、Qtのすべてのスタイルに共通する動作を実装しており、描画処理はユーザーに委ねられます。Qtの組み込みスタイルはパブリックAPIの一部ではなく、基底クラスとして使用することはできません。代わりに、QProxyStyle でそれらをラップしてください。

ベーススタイルのどの部分を変更したいかによって、インターフェースのその部分を描画するために使用される関数を再実装する必要があります。これを説明するために、プラットフォームスタイルによって描画されるスピンボックスの矢印の外観を変更してみましょう。矢印はdrawPrimitive()関数によって描画されるプリミティブ要素であるため、この関数を再実装する必要があります。 以下のクラス宣言が必要です:

class CustomStyle : public QProxyStyle
{
    Q_OBJECT

public:
    explicit CustomStyle(const QWidget *widget = nullptr);
    ~CustomStyle() {}

    void drawPrimitive(PrimitiveElement element, const QStyleOption *option,
                       QPainter *painter, const QWidget *widget) const override;
};

QSpinBox は、上向きおよび下向きの矢印を描画するために、PE_IndicatorSpinUp およびPE_IndicatorSpinDown というプリミティブ要素を使用します。これらを異なる方法で描画するために、drawPrimitive()関数を次のように再実装します:

void CustomStyle::drawPrimitive(PrimitiveElement element, const QStyleOption *option,
                                QPainter *painter, const QWidget *widget) const
{
    if (element == PE_IndicatorSpinUp || element == PE_IndicatorSpinDown) {
        QPolygon points(3);
        int x = option->rect.x();
        int y = option->rect.y();
        int w = option->rect.width() / 2;
        int h = option->rect.height() / 2;
        x += (option->rect.width() - w) / 2;
        y += (option->rect.height() - h) / 2;

        if (element == PE_IndicatorSpinUp) {
            points[0] = QPoint(x, y + h);
            points[1] = QPoint(x + w, y + h);
            points[2] = QPoint(x + w / 2, y);
        } else { // PE_SpinBoxDown
            points[0] = QPoint(x, y);
            points[1] = QPoint(x + w, y);
            points[2] = QPoint(x + w / 2, y + h);
        }

        if (option->state & State_Enabled) {
            painter->setPen(option->palette.mid().color());
            painter->setBrush(option->palette.buttonText());
        } else {
            painter->setPen(option->palette.buttonText().color());
            painter->setBrush(option->palette.mid());
        }
        painter->drawPolygon(points);
    } else {
        QProxyStyle::drawPrimitive(element, option, painter, widget);
    }
}

なお、widget 引数は、QProxyStyle::drawPrimitive()関数に渡す場合を除き、使用しません。前述の通り、何をどのように描画するかという情報はQStyleOption オブジェクトによって指定されるため、ウィジェットに問い合わせる必要はありません。

追加情報を取得するために `widget ` 引数を使用する必要がある場合は、使用前にその値が 0 ではなく、正しい型であることを必ず確認してください。例:

const QSpinBox *spinBox = qobject_cast<const QSpinBox *>(widget);
if (spinBox) {
    //...
}

カスタムスタイルを実装する際、列挙型の値が `PE_IndicatorSpinUp ` や `PE_IndicatorSpinDown` という名前であるという理由だけで、そのウィジェットが `QSpinBox ` であると仮定してはなりません。

カスタムスタイルの使用

Qtアプリケーションでカスタムスタイルを使用するには、いくつかの方法があります。最も簡単な方法は、QApplication オブジェクトを作成する前に、カスタムスタイルをQApplication::setStyle()静的関数に渡すことです:

#include <QtWidgets>

#include "customstyle.h"

int main(int argc, char *argv[])
{
    QApplication::setStyle(new CustomStyle);
    QApplication app(argc, argv);
    QSpinBox spinBox;
    spinBox.show();
    return app.exec();
}

QApplication::setStyle() はいつでも呼び出すことができますが、コンストラクタの呼び出し前に呼び出すことで、-style コマンドラインオプションを使用して設定されたユーザーの設定が確実に反映されるようになります。

作成したカスタムスタイルを、他のアプリケーションでも利用できるようにしたい場合があります。それらのアプリケーションは自分自身が開発したものではないため、再コンパイルできない可能性があります。Qtプラグインシステムを利用すれば、スタイルをプラグインとして作成することが可能です。プラグインとして作成されたスタイルは、実行時にQt自体によって共有オブジェクトとして読み込まれます。 スタイルプラグインの作成方法の詳細については、Qtプラグインのドキュメントを参照してください。

プラグインをコンパイルし、Qtのplugins/styles ディレクトリに配置してください。これで、Qtが自動的に読み込めるプラグイン可能なスタイルが完成しました。既存のアプリケーションで新しいスタイルを使用するには、以下の引数を指定してアプリケーションを起動するだけです:

./myapplication -style custom

アプリケーションは、実装したカスタムスタイルの外観と操作感を使用します。

右から左へのデスクトップ

右から左へ書かれる言語(アラビア語やヘブライ語など)では、通常、ウィジェットのレイアウト全体が反転し、光が画面の左上ではなく右上から当たるようにする必要があります。

カスタムスタイルを作成する場合は、非対称な要素を描画する際に、鏡像レイアウトでも正しく表示されるよう特に注意を払う必要があります。スタイルをテストする簡単な方法として、-reverse というコマンドラインオプションを指定してアプリケーションを実行するか、main() 関数内でQApplication::setLayoutDirection()を呼び出す方法があります。

右から左への環境でもスタイルが適切に機能するようにするには、以下の点に留意してください:

  • subControlRect() およびsubElementRect() は、画面座標系の矩形を返します
  • QStyleOption::direction は、アイテムが描画される方向を示します
  • スタイルが右から左への表示に対応していない場合、アイテムは左から右への表示であるかのように表示されます
  • visualRect()、visualPos()、およびvisualAlignment() は、論理的な表現から画面上の表現に変換するのに役立つ関数です。
  • alignedRect() は、現在の方向に合わせて配置された論理矩形を返します

アイテムビューのスタイル

ビュー内での項目の描画は、デリゲートによって行われます。Qt のデフォルトのデリゲートである `QStyledItemDelegate` は、`data roles ` がサポートするさまざまな種類の項目 `QStyledItemDelegate ` について、項目およびそのサブ要素の境界矩形を計算するためにも使用されます。 サポートされているデータ型やロールについては、QStyledItemDelegate クラスの説明を参照してください。アイテムデータのロールに関する詳細は、「モデル/ビュープログラミング」を参照してください。

QStyledItemDelegate がアイテムを描画する際、CE_ItemViewItem を描画し、CT_ItemViewItem を使用してそのサイズを計算します。また、SE_ItemViewItemText を使用してエディタのサイズを設定している点にも注意してください。 アイテムビューの描画をカスタマイズするスタイルを実装する際は、QCommonStyle (およびそのスタイルが継承しているその他のサブクラス)の実装を確認する必要があります。これにより、他のスタイル要素がどのように描画されているかを把握でき、異なる方法で描画すべき要素の描画を再実装できるようになります。

ここでは、アイテムの背景の描画をカスタマイズする簡単な例を紹介します。

switch (element) {
    case (PE_PanelItemViewItem): {
        painter->save();

        QPoint topLeft = option->rect.topLeft();
        QPoint bottomRight = option->rect.topRight();
        QLinearGradient backgroundGradient(topLeft, bottomRight);
        backgroundGradient.setColorAt(0.0, QColor(Qt::yellow).lighter(190));
        backgroundGradient.setColorAt(1.0, Qt::white);
        painter->fillRect(option->rect, QBrush(backgroundGradient));

        painter->restore();
    break;
    }
    default:
        QProxyStyle::drawPrimitive(element, option, painter, widget);
}

プリミティブ要素PE_PanelItemViewItem は、アイテムの背景の描画を担当しており、QCommonStyle のCE_ItemViewItem の実装から呼び出されます。

新しいデータ型やアイテムデータロールの描画をサポートするには、カスタムデリゲートを作成する必要があります。ただし、デフォルトのデリゲートによって実装されているデータ型のみをサポートすればよい場合は、カスタムスタイルにデリゲートを伴う必要はありません。QStyledItemDelegate クラスの説明には、カスタムデリゲートに関する詳細情報が記載されています。

アイテム・ビューのヘッダーの描画もスタイルによって行われ、ヘッダー項目のサイズや行・列のサイズを制御できます。

関連項目: QStyleOption 、QStylePainter 、スタイルとスタイル対応ウィジェット、 Qt Widgets のスタイリング手法、 QStyledItemDelegate 、およびスタイリング。

メンバ型のドキュメント

enum QStyle::ComplexControl

この列挙型は、利用可能な複合コントロールを定義しています。複合コントロールは、ユーザーがどこをクリックするか、あるいはどのキーを押すかによって、動作が異なります。

定数値説明
QStyle::CC_SpinBox0スピンボックス。例:QSpinBox 。
QStyle::CC_ComboBox1QComboBox のようなコンボボックス。
QStyle::CC_ScrollBar2QScrollBar のようなスクロールバー。
QStyle::CC_Slider3QSlider のようなスライダー。
QStyle::CC_ToolButton4QToolButton のようなツールボタン。
QStyle::CC_TitleBar5QMdiSubWindow などで使用されているようなタイトルバー。
QStyle::CC_GroupBox7グループボックス。例:QGroupBox 。
QStyle::CC_Dial6ダイヤル(QDial のようなもの)。
QStyle::CC_MdiControls8最大化された MDI サブウィンドウのメニューバーにある、最小化、閉じる、および通常表示のボタン。
QStyle::CC_CustomBase0xf0000000カスタム複合コントロールの基本値。カスタム値はこの値より大きくなければなりません。

SubControl およびdrawComplexControl()も参照してください 。

enum QStyle::ContentsType

この列挙型は、利用可能なコンテンツの種類を表しています。これらは、さまざまなウィジェットのコンテンツのサイズを計算するために使用されます。

定数値説明
QStyle::CT_CheckBox1チェックボックス。例:QCheckBox 。
QStyle::CT_ComboBox4QComboBox のようなコンボボックス。
QStyle::CT_HeaderSection19QHeader のようなヘッダーセクション。
QStyle::CT_LineEdit14QLineEdit のようなラインエディット。
QStyle::CT_Menu10QMenu のようなメニュー。
QStyle::CT_MenuBar9メニューバー。QMenuBar など。
QStyle::CT_MenuBarItem8QMenuBar のボタンなどと同様のメニューバー項目。
QStyle::CT_MenuItem7QMenuItemのようなメニュー項目。
QStyle::CT_ProgressBar6QProgressBar のようなプログレスバー。
QStyle::CT_PushButton0QPushButton のようなプッシュボタン。
QStyle::CT_RadioButton2QRadioButton のようなラジオボタン。
QStyle::CT_SizeGrip16QSizeGrip のようなサイズグリップ。
QStyle::CT_Slider12QSlider のようなスライダー。
QStyle::CT_ScrollBar13スクロールバー(例:QScrollBar )。
QStyle::CT_SpinBox15スピンボックス(例:QSpinBox )。
QStyle::CT_Splitter5スプリッター(例:QSplitter )。
QStyle::CT_TabBarTab11タブバー上のタブ(例:QTabBar )。
QStyle::CT_TabWidget17タブウィジェット(QTabWidget など)。
QStyle::CT_ToolButton3ツールボタン(例:QToolButton )。
QStyle::CT_GroupBox20グループボックス(例:QGroupBox )。
QStyle::CT_ItemViewItem22アイテムビュー内の項目。
QStyle::CT_CustomBase0xf0000000カスタムコンテンツタイプの基本値。カスタム値はこの値より大きくなければなりません。
QStyle::CT_MdiControls21最大化された MDI サブウィンドウのメニューバーにある、最小化、通常、および閉じるボタン。

sizeFromContents()も参照してください 。

enum QStyle::ControlElement

この列挙型は、コントロール要素を表します。コントロール要素とは、何らかのアクションを実行したり、ユーザーに情報を表示したりするウィジェットの一部です。

定数値説明
QStyle::CE_PushButton0QPushButton 。CE_PushButtonBevel、CE_PushButtonLabel、PE_FrameFocusRect を描画します。
QStyle::CE_PushButtonBevel1QPushButton のベベルおよびデフォルトインジケータ。
QStyle::CE_PushButtonLabel2QPushButton のラベル(テキストまたはピクマップ付きのアイコン)。
QStyle::CE_DockWidgetTitle30ドックウィンドウのタイトル。
QStyle::CE_Splitter28スプリッターのハンドル。QSplitter も参照してください。
QStyle::CE_CheckBox3QCheckBox であり、PE_IndicatorCheckBox 、CE_CheckBoxLabel、およびPE_FrameFocusRect を描画します。
QStyle::CE_CheckBoxLabel4QCheckBox のラベル(テキストまたはピクマップ)。
QStyle::CE_RadioButton5QRadioButton は、PE_IndicatorRadioButton 、CE_RadioButtonLabel、およびPE_FrameFocusRect を描画します。
QStyle::CE_RadioButtonLabel6QRadioButton のラベル(テキストまたはピクマップ)。
QStyle::CE_TabBarTab7QTabBar 内のタブおよびラベル。
QStyle::CE_TabBarTabShape8タブバー内のタブシェイプ。
QStyle::CE_TabBarTabLabel9タブ内のラベル。
QStyle::CE_ProgressBar10QProgressBar 。CE_ProgressBarGroove、CE_ProgressBarContents、および CE_ProgressBarLabel を描画します。
QStyle::CE_ProgressBarGroove11QProgressBar 内で進行状況インジケータが描画される溝。
QStyle::CE_ProgressBarContents12QProgressBar の進行状況インジケータ。
QStyle::CE_ProgressBarLabel13QProgressBar のテキストラベル。
QStyle::CE_ToolButtonLabel22ツールボタンのラベル。
QStyle::CE_MenuBarItem20QMenuBar 内のメニュー項目。
QStyle::CE_MenuBarEmptyArea21QMenuBar の空白領域。
QStyle::CE_MenuItem14QMenu 内のメニュー項目。
QStyle::CE_MenuScroller15スタイルがスクロールをサポートしている場合の、QMenu 内のスクロール領域。
QStyle::CE_MenuTearoff18QMenu の切り離し可能なセクションを表すメニュー項目。
QStyle::CE_MenuEmptyArea19メニュー内の、メニュー項目がない領域。
QStyle::CE_MenuHMargin17メニューの左右にある水平方向の余白。
QStyle::CE_MenuVMargin16メニューの上部または下部に追加される垂直方向の余白。
QStyle::CE_ToolBoxTab26QToolBox 内のツールボックスのタブとラベル。
QStyle::CE_SizeGrip27ウィンドウのサイズ変更ハンドル。QSizeGrip も参照してください。
QStyle::CE_Header23ヘッダー。
QStyle::CE_HeaderSection24ヘッダーセクション。
QStyle::CE_HeaderLabel25ヘッダーのラベル。
QStyle::CE_ScrollBarAddLine31スクロールバーの行増加インジケータ。(つまり、下にスクロール)。QScrollBar も参照してください。
QStyle::CE_ScrollBarSubLine32スクロールバーの行減少インジケータ(つまり、スクロールアップ)。
QStyle::CE_ScrollBarAddPage33スクロールバーのページ増加インジケータ(つまり、ページダウン)。
QStyle::CE_ScrollBarSubPage34スクロールバーのページ減少インジケータ(つまり、ページアップ)。
QStyle::CE_ScrollBarSlider35スクロールバーのスライダー。
QStyle::CE_ScrollBarFirst36スクロールバーの最初の行インジケータ(つまり、ホーム)。
QStyle::CE_ScrollBarLast37スクロールバーの最終行インジケータ(つまり、末尾)。
QStyle::CE_RubberBand29アイコンビューなどで使用されるラバーバンド。
QStyle::CE_FocusFrame38スタイルで制御されるフォーカス枠。
QStyle::CE_ItemViewItem45アイテムビュー内のアイテム。
QStyle::CE_CustomBase0xf0000000カスタムコントロール要素の基本値。カスタム値はこの値よりも大きくなければなりません。
QStyle::CE_ComboBoxLabel39編集不可のQComboBox のラベル。
QStyle::CE_ToolBar40QToolBar のようなツールバー。
QStyle::CE_ToolBoxTabShape41ツールボックスのタブの形状。
QStyle::CE_ToolBoxTabLabel42ツールボックスのタブのラベル。
QStyle::CE_HeaderEmptyArea43ヘッダーセクションが存在しないヘッダービューの領域。
QStyle::CE_ShapedFrame46QStyleOptionFrame で指定された形状を持つフレーム。QFrame を参照してください。

drawControl()も参照してください 。

enum QStyle::PixelMetric

この列挙型は、利用可能なさまざまなピクセルメトリックを表します。ピクセルメトリックとは、単一のピクセル値で表される、スタイルに依存するサイズのことです。

定数値説明
QStyle::PM_ButtonMargin0プッシュボタンのラベルとフレームの間の余白の量。
QStyle::PM_DockWidgetTitleBarButtonMargin73ドックウィジェットのタイトルバーのボタンラベルとフレームとの間の余白の量。
QStyle::PM_ButtonDefaultIndicator1デフォルトボタンインジケータのフレームの幅。
QStyle::PM_MenuButtonIndicator2ウィジェットの高さに比例したメニューボタンインジケータの幅。
QStyle::PM_ButtonShiftHorizontal3ボタンが押下されたときの、ボタンの水平方向のコンテンツシフト量。
QStyle::PM_ButtonShiftVertical4ボタンが押されたときの、ボタンのコンテンツの垂直方向のシフト量。
QStyle::PM_DefaultFrameWidth5デフォルトのフレーム幅(通常は 2)。
QStyle::PM_SpinBoxFrameWidth6スピンボックスのフレーム幅。デフォルトは PM_DefaultFrameWidth です。
QStyle::PM_ComboBoxFrameWidth7コンボボックスのフレーム幅。デフォルトは PM_DefaultFrameWidth です。
QStyle::PM_MdiSubWindowFrameWidth44MDI ウィンドウのフレーム幅。
QStyle::PM_MdiSubWindowMinimizedWidth45最小化された MDI ウィンドウの幅。
QStyle::PM_LayoutLeftMargin75QLayout のデフォルトのleft margin 。
QStyle::PM_LayoutTopMargin76QLayout のデフォルトのtop margin 。 のデフォルトの 。
QStyle::PM_LayoutRightMargin77QLayout のデフォルトのright margin 。 のデフォルトの 。
QStyle::PM_LayoutBottomMargin78QLayout のデフォルトのbottom margin 。
QStyle::PM_LayoutHorizontalSpacing79QLayout のデフォルトのhorizontal spacing 。
QStyle::PM_LayoutVerticalSpacing80QLayout のデフォルトのvertical spacing 。
QStyle::PM_MaximumDragDistance8ドラッグ時にマウスとスクロールバーの間に許容される最大距離。指定した距離を超えると、スライダーは元の位置にジャンプして戻ります。値を -1 に設定すると、この動作は無効になります。
QStyle::PM_ScrollBarExtent9垂直スクロールバーの幅および水平スクロールバーの高さ。
QStyle::PM_ScrollBarSliderMin10垂直スクロールバーのスライダーの最小高さと、水平スクロールバーのスライダーの最小幅。
QStyle::PM_SliderThickness11スライダーの合計の厚さ。
QStyle::PM_SliderControlThickness12スライダーハンドルの太さ。
QStyle::PM_SliderLength13スライダーの長さ。
QStyle::PM_SliderTickmarkOffset14目盛りとスライダー間のオフセット。
QStyle::PM_SliderSpaceAvailable15スライダーが移動できるスペース。
QStyle::PM_DockWidgetSeparatorExtent16水平ドックウィンドウにおけるセパレータの幅、および垂直ドックウィンドウにおけるセパレータの高さ。
QStyle::PM_DockWidgetHandleExtent17水平ドックウィンドウにおけるハンドルの幅、および垂直ドックウィンドウにおけるハンドルの高さ。
QStyle::PM_DockWidgetFrameWidth18ドックウィンドウのフレーム幅。
QStyle::PM_DockWidgetTitleMargin70ドックウィンドウのタイトルの余白。
QStyle::PM_MenuBarPanelWidth33メニューバーのフレーム幅。デフォルトは PM_DefaultFrameWidth です。
QStyle::PM_MenuBarItemSpacing34メニューバー項目間の間隔。
QStyle::PM_MenuBarHMargin36メニューバーの項目間の間隔、およびバーの左右との間隔。
QStyle::PM_MenuBarVMargin35メニューバーの項目と、バーの上部および下部との間の間隔。
QStyle::PM_ToolBarFrameWidth52ツールバーを囲むフレームの幅。
QStyle::PM_ToolBarHandleExtent53水平ツールバーにおけるツールバーハンドルの幅、および垂直ツールバーにおけるハンドルの高さ。
QStyle::PM_ToolBarItemMargin55ツールバーの枠と項目間の間隔。
QStyle::PM_ToolBarItemSpacing54ツールバー項目間の間隔。
QStyle::PM_ToolBarSeparatorExtent56水平ツールバーにおけるツールバー区切り線の幅、および垂直ツールバーにおける区切り線の高さ。
QStyle::PM_ToolBarExtensionExtent57水平ツールバーにおけるツールバー拡張ボタンの幅、および垂直ツールバーにおけるボタンの高さ。
QStyle::PM_TabBarTabOverlap19タブが重なるピクセル数。(現在はスタイルでのみ使用され、QTabBar 内では使用されません)
QStyle::PM_TabBarTabHSpace20タブの幅に追加される余白。
QStyle::PM_TabBarTabVSpace21タブの高さに追加される余白。
QStyle::PM_TabBarBaseHeight22タブバーとタブページ間の領域の高さ。
QStyle::PM_TabBarBaseOverlap23タブバーがタブバーのベースと重なるピクセル数。
QStyle::PM_TabBarScrollButtonWidth51 
QStyle::PM_TabBarTabShiftHorizontal49タブが選択された際の水平方向のピクセルオフセット。
QStyle::PM_TabBarTabShiftVertical50タブが選択されたときの垂直方向のピクセル単位のずれ量。
QStyle::PM_ProgressBarChunkWidth24プログレスバーインジケータのチャンクの幅。
QStyle::PM_SplitterWidth25スプリッターの幅。
QStyle::PM_TitleBarHeight26タイトルバーの高さ。
QStyle::PM_IndicatorWidth37チェックボックスインジケータの幅。
QStyle::PM_IndicatorHeight38チェックボックスインジケータの高さ。
QStyle::PM_ExclusiveIndicatorWidth39ラジオボタンインジケータの幅。
QStyle::PM_ExclusiveIndicatorHeight40ラジオボタンインジケータの高さ。
QStyle::PM_MenuPanelWidth30QMenu の枠線の幅(四方に適用されます)。
QStyle::PM_MenuHMargin28QMenu の追加の枠線(左右に使用)。
QStyle::PM_MenuVMargin29QMenu の追加の境界線(上下に使用)。
QStyle::PM_MenuScrollerHeight27QMenu 内のスクロール領域の高さ。
QStyle::PM_MenuTearoffHeight31QMenu 内の切り取り領域の高さ。
QStyle::PM_MenuDesktopFrameWidth32デスクトップ上のメニューのフレーム幅。
QStyle::PM_HeaderMarkSize47ヘッダー内のソートインジケータのサイズ。
QStyle::PM_HeaderGripMargin48ヘッダー内のサイズ変更グリップのサイズ。
QStyle::PM_HeaderMargin46ソートインジケータとテキスト間の余白のサイズ。
QStyle::PM_SpinBoxSliderHeight58オプションのスピンボックススライダーの高さ。
QStyle::PM_ToolBarIconSize59ツールバーのアイコンのデフォルトサイズ
QStyle::PM_SmallIconSize62デフォルトの小さいアイコンのサイズ
QStyle::PM_LargeIconSize63デフォルトの大きなアイコンサイズ
QStyle::PM_FocusFrameHMargin65フォーカスフレームがウィジェットの外側に張り出す水平方向の余白。
QStyle::PM_FocusFrameVMargin64フォーカスフレームがウィジェットからはみ出す垂直方向の余白。
QStyle::PM_IconViewIconSize61アイコンビューにおけるアイコンのデフォルトサイズ。
QStyle::PM_ListViewIconSize60リストビュー内のアイコンのデフォルトサイズ。
QStyle::PM_ToolTipLabelFrameWidth66ツールチップラベルのフレーム幅。
QStyle::PM_CheckBoxLabelSpacing67チェックボックスインジケータとそのラベル間の間隔。
QStyle::PM_RadioButtonLabelSpacing74ラジオボタンのインジケータとそのラベルの間隔。
QStyle::PM_TabBarIconSize68タブバーのデフォルトのアイコンサイズ。
QStyle::PM_SizeGripSize69サイズグリップのサイズ。
QStyle::PM_MessageBoxIconSize71メッセージボックス内の標準アイコンのサイズ
QStyle::PM_ButtonIconSize72ボタンアイコンのデフォルトサイズ
QStyle::PM_TextCursorWidth82ラインエディットまたはテキストエディット内のカーソルの幅
QStyle::PM_TabBar_ScrollButtonOverlap81タブバー内の左右のボタン間の距離。
QStyle::PM_TabCloseIndicatorWidth83タブバー内のタブにある閉じるボタンのデフォルトの幅。
QStyle::PM_TabCloseIndicatorHeight84タブバー内のタブにある閉じるボタンのデフォルトの高さ。
QStyle::PM_ScrollView_ScrollBarSpacing85SH_ScrollView_FrameOnlyAroundContents が設定されている場合の、フレームとスクロールバー間の距離。
QStyle::PM_ScrollView_ScrollBarOverlap86スクロールバーとスクロール対象コンテンツの重なり
QStyle::PM_SubMenuOverlap87サブメニューとその親メニュー間の水平方向の重なり。
QStyle::PM_TreeViewIndentation (since Qt 5.4)88ツリービュー内の項目のインデント。
QStyle::PM_HeaderDefaultSectionSizeHorizontal89水平ヘッダー内のセクションのデフォルトサイズ。この列挙型値は Qt 5.5 で導入されました。
QStyle::PM_HeaderDefaultSectionSizeVertical90垂直ヘッダー内のセクションのデフォルトサイズ。この列挙型値は Qt 5.5 で導入されました。
QStyle::PM_TitleBarButtonIconSize (since Qt 5.8)91タイトルバー上のボタンアイコンのサイズ。
QStyle::PM_TitleBarButtonSize (since Qt 5.8)92タイトルバー上のボタンのサイズ。
QStyle::PM_LineEditIconSize (since Qt 6.2)93ラインエディット内のアイコンのデフォルトサイズ。
QStyle::PM_LineEditIconMargin (since Qt 6.3)94ラインエディット内のアイコン周囲の余白。
QStyle::PM_CustomBase0xf0000000カスタムピクセルメトリックの基準値。カスタム値はこの値より大きくなければなりません。

pixelMetric()も参照してください 。

enum QStyle::PrimitiveElement

この列挙型は、さまざまなプリミティブ要素を表します。プリミティブ要素とは、チェックボックスのインジケーターやボタンのベベルなど、一般的なGUI要素のことです。

定数値説明
QStyle::PE_PanelButtonCommand13アクションを開始するために使用されるボタン。例:QPushButton 。
QStyle::PE_FrameDefaultButton1ダイアログなどにある、デフォルトボタンを囲む枠。
QStyle::PE_PanelButtonBevel14ボタンベベル付きの汎用パネル。
QStyle::PE_PanelButtonTool15QToolButton とともに使用される、ツールボタン用のパネル。
QStyle::PE_PanelLineEdit18QLineEdit 用のパネル。
QStyle::PE_IndicatorButtonDropDown24ドロップダウンボタンのインジケータ。たとえば、メニューを表示するツールボタンなど。
QStyle::PE_FrameFocusRect3汎用のフォーカスインジケータ。
QStyle::PE_IndicatorArrowUp22汎用の上矢印。
QStyle::PE_IndicatorArrowDown19汎用の下矢印。
QStyle::PE_IndicatorArrowRight21汎用右矢印。
QStyle::PE_IndicatorArrowLeft20汎用左矢印。
QStyle::PE_IndicatorSpinUp35スピンウィジェット(例:QSpinBox )用の上向きシンボル。
QStyle::PE_IndicatorSpinDown32スピンウィジェット用の下矢印シンボル。
QStyle::PE_IndicatorSpinPlus34スピンウィジェットの「増加」シンボル。
QStyle::PE_IndicatorSpinMinus33スピンウィジェットの「減少」記号。
QStyle::PE_IndicatorItemViewItemCheck25ビュー項目のオン/オフインジケータ。
QStyle::PE_IndicatorCheckBox26オン/オフインジケータ。例:QCheckBox 。
QStyle::PE_IndicatorRadioButton31排他的なオン/オフインジケータ。例:QRadioButton 。
QStyle::PE_IndicatorDockWidgetResizeHandle27ドックウィンドウのサイズ変更ハンドル。
QStyle::PE_Frame0汎用フレーム
QStyle::PE_FrameMenu6ポップアップウィンドウ/メニュー用のフレーム。QMenu も参照してください。
QStyle::PE_PanelMenuBar16メニューバー用のパネル。
QStyle::PE_PanelScrollAreaCorner40スクロール領域の右下(または左下)隅にあるパネル。
QStyle::PE_FrameDockWidget2ドックウィンドウおよびツールバー用のパネルフレーム。
QStyle::PE_FrameTabWidget8タブウィジェット用のフレーム。
QStyle::PE_FrameLineEdit5ラインエディタ用のパネルフレーム。
QStyle::PE_FrameGroupBox4グループボックスを囲むパネルフレーム。
QStyle::PE_FrameButtonBevel10ボタンのベベル用のパネルフレーム。
QStyle::PE_FrameButtonTool11ツールボタンのパネルフレーム。
QStyle::PE_IndicatorHeaderArrow28リストやテーブルのヘッダーで並べ替えを示すために使用される矢印。
QStyle::PE_FrameStatusBarItem7ステータスバーの項目用のフレーム。QStatusBar も参照してください。
QStyle::PE_FrameWindow9MDI ウィンドウまたはドッキングウィンドウを囲むフレーム。
QStyle::PE_IndicatorMenuCheckMark29メニューで使用されるチェックマーク。
QStyle::PE_IndicatorProgressChunk30進行状況バーインジケータのセクション。QProgressBar も参照してください。
QStyle::PE_IndicatorBranch23ツリービューでツリーの分岐を表すために使用される線。
QStyle::PE_IndicatorToolBarHandle36ツールバーのハンドル。
QStyle::PE_IndicatorToolBarSeparator37ツールバー内のセパレータ。
QStyle::PE_PanelToolBar17ツールバー用のパネル。
QStyle::PE_PanelTipLabel38ヒントラベル用のパネル。
QStyle::PE_FrameTabBarBase12タブバー用に描画されるフレーム。通常、タブウィジェットの一部ではないタブバーに対して描画される。
QStyle::PE_IndicatorTabTear39非推奨。代わりに PE_IndicatorTabTearLeft を使用してください。
QStyle::PE_IndicatorTabTearLeftPE_IndicatorTabTearタブが多数ある場合、表示されているタブバーの左側にタブが部分的にはみ出していることを示すインジケータ。
QStyle::PE_IndicatorTabTearRight49タブが多数ある場合、表示されているタブバーの右側でタブが部分的にスクロールアウトされていることを示すインジケータ。
QStyle::PE_IndicatorColumnViewArrow42QColumnView 内の矢印。
QStyle::PE_Widget41プレーンなQWidget 。
QStyle::PE_CustomBase0xf000000カスタムプリミティブ要素の基本値。この値を超えるすべての値はカスタム用途のために予約されています。カスタム値はこの値より大きくなければなりません。
QStyle::PE_IndicatorItemViewItemDrop43アイテムビューでのドラッグ&ドロップ操作中に、アイテムビュー内のアイテムがどこにドロップされようとしているかを示すために描画されるインジケータ。
QStyle::PE_PanelItemViewItem44アイテムビュー内のアイテムの背景。
QStyle::PE_PanelItemViewRow45アイテムビュー内の行の背景。
QStyle::PE_PanelStatusBar46ステータスバー用のパネル。
QStyle::PE_IndicatorTabClose47タブバー上の閉じるボタン。
QStyle::PE_PanelMenu48メニュー用のパネル。

drawPrimitive()も参照してください 。

enum QStyle::RequestSoftwareInputPanel

この列挙型は、入力機能を持つウィジェットが、どのような状況でソフトウェア入力パネルを要求するかを定義します。

定数値説明
QStyle::RSIP_OnMouseClickAndAlreadyFocused0ユーザーがウィジェットをクリックした場合、そのウィジェットがすでにフォーカスされている場合に限り、入力パネルを要求します。
QStyle::RSIP_OnMouseClick1ユーザーがウィジェットをクリックした場合、入力パネルを要求します。ただし、そのウィジェットがすでにフォーカスされている場合に限ります。

QInputMethodも参照してください 。

enum QStyle::StandardPixmap

この列挙型は、利用可能な標準ピクマップを定義しています。標準ピクマップとは、既存のGUIスタイルやガイドラインに準拠できるピクマップのことです。

定数値説明
QStyle::SP_TitleBarMinButton1タイトルバー上の最小化ボタン(例:QMdiSubWindow )。
QStyle::SP_TitleBarMenuButton0タイトルバー上のメニューボタン。
QStyle::SP_TitleBarMaxButton2タイトルバー上の最大化ボタン。
QStyle::SP_TitleBarCloseButton3タイトルバー上の閉じるボタン。
QStyle::SP_TitleBarNormalButton4タイトルバー上の「通常(元に戻す)」ボタン。
QStyle::SP_TitleBarShadeButton5タイトルバー上のシェードボタン。
QStyle::SP_TitleBarUnshadeButton6タイトルバー上の「半透明解除」ボタン。
QStyle::SP_TitleBarContextHelpButton7タイトルバー上のコンテキストヘルプボタン。
QStyle::SP_MessageBoxInformation9「情報」アイコン。
QStyle::SP_MessageBoxWarning10タイトルバー上の「警告」アイコン。
QStyle::SP_MessageBoxCritical11「重大」アイコン。
QStyle::SP_MessageBoxQuestion12「質問」アイコン。
QStyle::SP_DesktopIcon13「デスクトップ」アイコン。
QStyle::SP_TrashIcon14「ごみ箱」アイコン。
QStyle::SP_ComputerIcon15「マイコンピュータ」アイコン。
QStyle::SP_DriveFDIcon16フロッピーディスクのアイコン。
QStyle::SP_DriveHDIcon17ハードドライブのアイコン。
QStyle::SP_DriveCDIcon18CDのアイコン。
QStyle::SP_DriveDVDIcon19DVDのアイコン。
QStyle::SP_DriveNetIcon20ネットワークのアイコン。
QStyle::SP_DirHomeIcon56ホームディレクトリのアイコン。
QStyle::SP_DirOpenIcon21開いているディレクトリのアイコン。
QStyle::SP_DirClosedIcon22閉じられたディレクトリのアイコン。
QStyle::SP_DirIcon38ディレクトリアイコン。
QStyle::SP_DirLinkIcon23ディレクトリへのリンクアイコン。
QStyle::SP_DirLinkOpenIcon24開いているディレクトリへのリンクのアイコン。
QStyle::SP_FileIcon25ファイルのアイコン。
QStyle::SP_FileLinkIcon26ファイルへのリンクアイコン。
QStyle::SP_FileDialogStart29ファイルダイアログ内の「開始」アイコン。
QStyle::SP_FileDialogEnd30ファイルダイアログ内の「終了」アイコン。
QStyle::SP_FileDialogToParent31ファイルダイアログ内の「親ディレクトリ」アイコン。
QStyle::SP_FileDialogNewFolder32ファイルダイアログ内の「新しいフォルダを作成」アイコン。
QStyle::SP_FileDialogDetailedView33ファイルダイアログ内の詳細表示アイコン。
QStyle::SP_FileDialogInfoView34ファイルダイアログ内の「ファイル情報」アイコン。
QStyle::SP_FileDialogContentsView35ファイルダイアログ内の「内容表示」アイコン。
QStyle::SP_FileDialogListView36ファイルダイアログの「リスト表示」アイコン。
QStyle::SP_FileDialogBack37ファイルダイアログ内の「戻る」矢印。
QStyle::SP_DockWidgetCloseButton8ドックウィンドウの閉じるボタン(QDockWidget も参照)。
QStyle::SP_ToolBarHorizontalExtensionButton27水平ツールバーの拡張ボタン。
QStyle::SP_ToolBarVerticalExtensionButton28縦型ツールバーの拡張ボタン。
QStyle::SP_DialogOkButton39QDialogButtonBox 内の標準的な [OK] ボタンのアイコン。
QStyle::SP_DialogCancelButton40QDialogButtonBox 内の標準的な「キャンセル」ボタンのアイコン。
QStyle::SP_DialogHelpButton41QDialogButtonBox 内の標準的な [ヘルプ] ボタンのアイコン。
QStyle::SP_DialogOpenButton42QDialogButtonBox 内の標準の [開く] ボタンのアイコン。
QStyle::SP_DialogSaveButton43QDialogButtonBox 内の標準的な「保存」ボタンのアイコン。
QStyle::SP_DialogCloseButton44QDialogButtonBox 内の標準的な [閉じる] ボタンのアイコン。
QStyle::SP_DialogApplyButton45QDialogButtonBox 内の標準の「適用」ボタンのアイコン。
QStyle::SP_DialogResetButton46QDialogButtonBox 内の標準的な「リセット」ボタンのアイコン。
QStyle::SP_DialogDiscardButton47QDialogButtonBox 内の標準の「破棄」ボタンのアイコン。
QStyle::SP_DialogYesButton48QDialogButtonBox 内の標準的な「はい」ボタンのアイコン。
QStyle::SP_DialogNoButton49QDialogButtonBox 内の標準的な「いいえ」ボタンのアイコン。
QStyle::SP_ArrowUp50上向きの矢印アイコン。
QStyle::SP_ArrowDown51下向きの矢印のアイコン。
QStyle::SP_ArrowLeft52左向きの矢印のアイコン。
QStyle::SP_ArrowRight53右向きの矢印のアイコン。
QStyle::SP_ArrowBack54現在のレイアウト方向が「Qt::LeftToRight 」の場合は SP_ArrowLeft と同等であり、それ以外の場合は SP_ArrowRight と同等です。
QStyle::SP_ArrowForward55現在のレイアウト方向がQt::LeftToRight の場合はSP_ArrowRightに相当し、それ以外の場合はSP_ArrowLeftに相当します。
QStyle::SP_CommandLink57Vista スタイルのコマンド リンク グリフを示すために使用されるアイコン。
QStyle::SP_VistaShield58Windows Vista での UAC プロンプトを示すために使用されるアイコン。他のすべてのプラットフォームでは、null ピクマップまたはアイコンが返されます。
QStyle::SP_BrowserReload59現在のページを再読み込みする必要があることを示すアイコン。
QStyle::SP_BrowserStop60ページの読み込みを停止すべきであることを示すアイコン。
QStyle::SP_MediaPlay61メディアの再生を開始すべきことを示すアイコン。
QStyle::SP_MediaStop62メディアの再生を停止すべきことを示すアイコン。
QStyle::SP_MediaPause63メディアの再生を一時停止することを示すアイコン。
QStyle::SP_MediaSkipForward64メディアを早送りすることを示すアイコン。
QStyle::SP_MediaSkipBackward65メディアの再生を戻すことを示すアイコン。
QStyle::SP_MediaSeekForward66メディアを早送りすることを示すアイコン。
QStyle::SP_MediaSeekBackward67メディアの再生を巻き戻すことを示すアイコン。
QStyle::SP_MediaVolume68音量調節を示すアイコン。
QStyle::SP_MediaVolumeMuted69音量がミュートされていることを示すアイコン。
QStyle::SP_LineEditClearButton (since Qt 5.2)70QLineEdit 内の標準的なクリアボタンのアイコン。
QStyle::SP_DialogYesToAllButton (since Qt 5.14)71QDialogButtonBox における標準的な「YesToAll」ボタンのアイコン。
QStyle::SP_DialogNoToAllButton (since Qt 5.14)72QDialogButtonBox における標準的な「NoToAll」ボタンのアイコン。
QStyle::SP_DialogSaveAllButton (since Qt 5.14)73QDialogButtonBox 内の標準的な [すべて保存] ボタンのアイコン。
QStyle::SP_DialogAbortButton (since Qt 5.14)74QDialogButtonBox 内の標準の「Abort」ボタンのアイコン。
QStyle::SP_DialogRetryButton (since Qt 5.14)75QDialogButtonBox における標準の「Retry」ボタンのアイコン。
QStyle::SP_DialogIgnoreButton (since Qt 5.14)76QDialogButtonBox 内の標準の [無視] ボタンのアイコン。
QStyle::SP_RestoreDefaultsButton (since Qt 5.14)77QDialogButtonBox 内の標準の [RestoreDefaults] ボタンのアイコン。
QStyle::SP_TabCloseButton (since Qt 6.3)78QTabBar のタブにある「閉じる」ボタンのアイコン。
QStyle::SP_TabScrollLeftButton (since Qt 6.12)79QTabBar の「左へスクロール」ボタンのアイコン。
QStyle::SP_TabScrollRightButton (since Qt 6.12)80QTabBar の右スクロールボタンのアイコン。
QStyle::SP_TabScrollUpButton (since Qt 6.12)81QTabBar のスクロールアップボタンのアイコン。
QStyle::SP_TabScrollDownButton (since Qt 6.12)82QTabBar のスクロールダウンボタンのアイコン。
QStyle::SP_CustomBase0xf0000000カスタム標準ピクマップのベース値。カスタム値はこの値より大きくなければなりません。

standardIcon()も参照してください 。

enum QStyle::StateFlag
flags QStyle::State

この列挙型は、プリミティブ要素を描画する際に使用されるフラグを表します。

なお、すべてのプリミティブがこれらのフラグをすべて使用するわけではなく、また、フラグの意味は項目によって異なる場合があることに注意してください。

定数定数名値説明
QStyle::State_None0x00000000ウィジェットに状態がないことを示します。
QStyle::State_Active0x00010000ウィジェットがアクティブであることを示します。
QStyle::State_AutoRaise0x00001000ツールボタンで自動レイズ表示を使用するかどうかを示すために使用されます。
QStyle::State_Children0x00080000アイテムビューのブランチに子要素があるかどうかを示すために使用されます。
QStyle::State_DownArrow0x00000040ウィジェット上に下向き矢印を表示するかどうかを示すために使用されます。
QStyle::State_Editing0x00400000非推奨。エディタがアイテムビューのセル上に描画されるようになったため、使用されなくなりました。
QStyle::State_Enabled0x00000001ウィジェットが有効かどうかを示すために使用されます。
QStyle::State_HasFocus0x00000100ウィジェットにフォーカスがあるかどうかを示すために使用されます。
QStyle::State_Horizontal0x00000080ウィジェットが水平に配置されているかどうかを示すために使用されます(例:ツールバー)。
QStyle::State_KeyboardFocusChange0x00800000キーボード(Tab、BackTab、ショートカットなど)によってフォーカスが変更されたかどうかを示すために使用されます。
QStyle::State_MouseOver0x00002000ウィジェットがマウスのカーソルの下にあるかどうかを示すために使用されます。
QStyle::State_NoChange0x000000103 状態のチェックボックスであることを示すために使用されます。
QStyle::State_Off0x00000008ウィジェットがチェックされていないかどうかを示すために使用されます。
QStyle::State_On0x00000020ウィジェットがチェックされているかどうかを示すために使用されます。
QStyle::State_Raised0x00000002ボタンが隆起しているかどうかを示すために使用されます。
QStyle::State_ReadOnly0x02000000ウィジェットが読み取り専用であるかどうかを示すために使用されます。
QStyle::State_Selected0x00008000ウィジェットが選択されているかどうかを示すために使用されます。
QStyle::State_Item0x00100000アイテムビューで、水平ブランチを描画すべきかどうかを示すために使用されます。
QStyle::State_Open0x00040000アイテムビューで、ツリーブランチが開いているかどうかを示すために使用されます。
QStyle::State_Sibling0x00200000アイテムビューで、垂直線(兄弟ノード用)を描画する必要があるかどうかを示すために使用されます。
QStyle::State_Sunken0x00000004ウィジェットが沈み込んでいるか、押されているかを示すために使用されます。
QStyle::State_UpArrow0x00004000ウィジェット上に上向き矢印を表示すべきかどうかを示すために使用されます。
QStyle::State_Mini0x08000000ミニスタイルの Mac ウィジェットまたはボタンを示すために使用されます。
QStyle::State_Small0x04000000小型スタイルの Mac ウィジェットまたはボタンを示すために使用されます。

State 型は、QFlags<StateFlag> の typedef です。StateFlag 値の論理和 (OR) を格納します。

drawPrimitive()も参照してください 。

enum QStyle::StyleHint

この列挙型は、利用可能なスタイルヒントを定義します。スタイルヒントとは、外観や操作感に関する一般的なヒントのことです。

定数値説明
QStyle::SH_EtchDisabledText0無効化されたテキストは、Windows と同様に「エッチング加工」されたような表示になります。
QStyle::SH_DitherDisabledText1無効化されたテキストは、Motif と同様にディザリング処理されます。
QStyle::SH_ScrollBar_ContextMenu62スクロールバーにコンテキストメニューがあるかどうか。
QStyle::SH_ScrollBar_MiddleClickAbsolutePosition2ブール値。true の場合、スクロールバーを中クリックすると、スライダーがその位置にジャンプします。false の場合、中クリックは無視されます。
QStyle::SH_ScrollBar_LeftClickAbsolutePosition39ブール値。true の場合、スクロールバーを左クリックすると、スライダーがその位置にジャンプします。false の場合、左クリックの動作は各コントロールに応じて適切に処理されます。
QStyle::SH_ScrollBar_ScrollWhenPointerLeavesControl3ブール値。trueの場合、スクロールバーSubControl をクリックし、マウスボタンを押したままポインタをSubControl の外側に移動させても、スクロールバーはスクロールを継続します。falseの場合、ポインタがSubControl から外れると、スクロールバーはスクロールを停止します。
QStyle::SH_ScrollBar_RollBetweenButtons63ブール値。trueの場合、スクロールバーのボタン(SC_ScrollBarAddLine またはSC_ScrollBarSubLine )をクリックし、反対側のボタンまでドラッグ(ローリング)すると、新しいボタンが押され、元のボタンが離されます。falseの場合、元のボタンが離され、何も起こりません(プッシュボタンのように)。
QStyle::SH_TabBar_Alignment5QTabWidget 内のタブの配置。可能な値は、Qt::AlignLeft 、Qt::AlignCenter 、およびQt::AlignRight です。
QStyle::SH_Header_ArrowAlignment6ソートインジケーターの配置は、リストや表のヘッダーに表示される場合があります。指定可能な値は、Qt::Alignment で指定される値です(つまり、Qt::AlignmentFlag フラグのOR結合です)。
QStyle::SH_Slider_SnapToValue7スライダーは、Windows と同様に、移動中に値にスナップします。
QStyle::SH_Slider_SloppyKeyEvents8キーの押下は、大まかな方法で処理されます。つまり、垂直スライダー上で左キーを押すと、1 行分が差し引かれます。
QStyle::SH_ProgressDialog_CenterCancelButton9進行状況ダイアログでは中央揃え、それ以外は右揃え。
QStyle::SH_ProgressDialog_TextLabelAlignment10進行状況ダイアログ内のテキストラベルの配置。Windows ではQt::AlignCenter 、それ以外の場合はQt::AlignVCenter 。
QStyle::SH_PrintDialog_RightAlignButtons11Windows と同様に、印刷ダイアログのボタンを右揃えにします。
QStyle::SH_MainWindow_SpaceBelowMenuBar12Windowsと同様に、メニューバーとドックエリアの間に1ピクセルまたは2ピクセルのスペースを設ける。
QStyle::SH_FontDialog_SelectAssociatedText13Windows と同様に、ラインエディット内のテキストを選択するか、リストボックスから項目を選択するか、またはラインエディットがフォーカスを受けたときに選択されるようにします。
QStyle::SH_Menu_KeyboardSearch66入力すると、メニューから関連項目が検索されるようにする。それ以外の場合は、ニーモニックのみが考慮される。
QStyle::SH_Menu_AllowActiveAndDisabled14無効化されたメニュー項目も有効にできるようにする。
QStyle::SH_Menu_SpaceActivatesItem15Motif と同様に、スペースバーを押すとその項目がアクティブになる。
QStyle::SH_Menu_SubMenuPopupDelay16サブメニューを開くまでの待機時間(ミリ秒単位)。(Windows では 256、Motif では 96)。
QStyle::SH_Menu_Scrollable30ポップアップメニューがスクロールをサポートする必要があるかどうか。
QStyle::SH_Menu_SloppySubMenus33ポップアップメニューが、ユーザーがメニューの他の項目を横切ってサブメニューにマウスカーソルを移動することをサポートする必要があるかどうか。これは、最新のデスクトッププラットフォームのほとんどでサポートされています。
QStyle::SH_Menu_SubMenuUniDirection105Qt 5.5 以降。カーソルがサブメニューに向かって移動する必要があるか(macOS の場合など)、あるいはスロッピータイムアウトが切れる前にサブメニューに到達すれば、カーソルはどの方向へでも移動できるか。
QStyle::SH_Menu_SubMenuUniDirectionFailCount106Qt 5.5以降。SH_Menu_SubMenuUniDirectionが定義されている場合、この列挙型は、スロッピーサブメニューが破棄されるまでのマウス移動の失敗回数を定義します。これにより、一方向アルゴリズムの「厳格さ」を制御できます。
QStyle::SH_Menu_SubMenuSloppySelectOtherActions107Qt 5.5 以降。マウスがスロッピーサブメニューに向かって移動した際、他のアクション項目が選択されるべきかどうかを指定します。
QStyle::SH_Menu_SubMenuSloppyCloseTimeout108Qt 5.5 以降。スロッピーサブメニューを閉じる際に使用されるタイムアウト。
QStyle::SH_Menu_SubMenuResetWhenReenteringParent109Qt 5.5 以降。子サブメニューから親サブメニューに入った際、スロッピー状態をリセットし、実質的に子サブメニューを閉じ、現在のサブメニューをアクティブにするかどうか。
QStyle::SH_Menu_SubMenuDontStartSloppyOnLeave110Qt 5.5 以降。マウスがサブメニューから離れた際、スロッピータイマーを開始しない。
QStyle::SH_ScrollView_FrameOnlyAroundContents17スクロールビューは、コンテンツの周囲のみ(Motif のように)フレームを描画するか、それともコンテンツ、スクロールバー、およびコーナーウィジェットの周囲(Windows のように)フレームを描画するか。
QStyle::SH_MenuBar_AltKeyNavigation18メニューバーの項目は、Alt キーを押してから矢印キーを使用して目的の項目を選択することで移動できます。
QStyle::SH_ComboBox_ListMouseTracking_CurrentSH_ComboBox_ListMouseTrackingコンボボックスのドロップダウンリストにおけるマウストラッキングでは、カーソルの下にある項目が現在の項目となります(QStyle::State_Selected )。
QStyle::SH_ComboBox_ListMouseTracking19非推奨。代わりに SH_ComboBox_ListMouseTracking_Current を使用してください。
QStyle::SH_ComboBox_ListMouseTracking_Active120コンボボックスのドロップダウンリストでのマウス追跡。カーソルの下にある項目は現在の項目にはならず、アクティブな状態になるだけです (QStyle::State_MouseOver)。
QStyle::SH_Menu_MouseTracking20ポップアップメニューでのマウス追跡。
QStyle::SH_MenuBar_MouseTracking21メニューバーでのマウス追跡。
QStyle::SH_Menu_FillScreenWithScroll45スクロール可能なポップアップをスクロールする際に、画面全体を埋めるかどうか。
QStyle::SH_Menu_SelectionWrap73ポップアップのスクロール時に、選択範囲が画面いっぱいに広がるかどうか、つまり、選択範囲の末尾に達した際に、次の項目が最初の項目になるかどうか。
QStyle::SH_ItemView_ChangeHighlightOnFocus22フォーカスが外れたときに、選択された項目をグレーアウトするかどうか。
QStyle::SH_Widget_ShareActivation23フローティングのモーダルなしダイアログで、アクティベーションの共有を有効にする。
QStyle::SH_TabBar_SelectMouseType4どの種類のマウスイベントでタブが選択されるようにするか。
QStyle::SH_ListViewExpand_SelectMouseType40どの種類のマウスイベントでリストビューの展開が選択されるようにするか。
QStyle::SH_TabBar_PreferNoArrows38タブバーは、スクロール矢印が表示されないように、推奨サイズを表示すべきか。
QStyle::SH_ComboBox_Popup25コンボボックスのドロップダウンメニューとしてポップアップを表示できるようにする。
QStyle::SH_Workspace_FillSpaceOnMaximize24ワークスペースはクライアント領域を最大化すべきです。
QStyle::SH_TitleBar_NoBorder26タイトルバーには境界線がない。
QStyle::SH_Slider_StopMouseOverSlider27スライダーがマウスの位置に到達したときに、自動リピートを停止する。
QStyle::SH_BlinkCursorWhenTextSelected28テキストが選択されたときにカーソルを点滅させるかどうか。
QStyle::SH_RichText_FullWidthSelection29リッチテキストの選択範囲をドキュメントの全幅に拡張するかどうか。
QStyle::SH_GroupBox_TextLabelVerticalAlignment31グループボックスのテキストラベルを垂直方向に揃える方法。
QStyle::SH_GroupBox_TextLabelColor32グループボックスのテキストラベルの描画方法。
QStyle::SH_DialogButtons_DefaultButton36ダイアログのボタンウィジェットにおいて、どのボタンがデフォルトの状態になるか。
QStyle::SH_ToolBox_SelectedPageTitleBold37QToolBox 内の選択されたページタイトルの太字表示。
QStyle::SH_LineEdit_PasswordCharacter35パスワードに使用されるUnicode文字。
QStyle::SH_LineEdit_PasswordMaskDelay103表示されている文字がパスワード文字でマスクされるまでの遅延時間をミリ秒単位で指定します。この列挙型値は Qt 5.4 で追加されました。
QStyle::SH_Table_GridLineColor34テーブルのグリッドの RGBA 値。
QStyle::SH_UnderlineShortcut41ショートカットに下線を引くかどうか。
QStyle::SH_SpinBox_AnimateButton42スピンボックスで「上」または「下」が押されたときに、クリックをアニメーション表示します。
QStyle::SH_SpinBox_KeyPressAutoRepeatRate43スピンボックスでのキー押下に対する自動リピート間隔。
QStyle::SH_SpinBox_ClickAutoRepeatRate44スピンボックスのマウスクリックに対する自動リピート間隔。
QStyle::SH_SpinBox_ClickAutoRepeatThreshold83スピンボックスのマウスクリックに対する自動繰り返し閾値。
QStyle::SH_SpinBox_SelectOnStep (since Qt 6.3)119ボタンまたは上/下キーを使用して値を変更した際に、テキストが自動的に選択されるかどうか。
QStyle::SH_ToolTipLabel_Opacity46ヒントラベルの不透明度を示す整数。0 は完全に透明、255 は完全に不透明です。
QStyle::SH_DrawMenuBarSeparator47メニューバーに区切り線を表示するかどうかを示します。
QStyle::SH_TitleBar_ModifyNotification48変更されたウィンドウのタイトルバーに「*」を表示するかどうかを示します。
QStyle::SH_Button_FocusPolicy49ボタンのデフォルトのフォーカスポリシー。
QStyle::SH_CustomBase0xf0000000カスタムスタイルのヒントのベース値。カスタム値はこの値よりも大きくなければなりません。
QStyle::SH_MessageBox_UseBorderForButtonSpacing50メッセージボックス内のボタンの間隔に、ボタンの境界線(ボタンの高さの半分として計算される)を使用するかどうかを示すブール値。
QStyle::SH_MessageBox_CenterButtons72メッセージボックス内のボタンを中央に配置するかどうかを示すブール値(QDialogButtonBox::setCentered() を参照)。
QStyle::SH_MessageBox_TextInteractionFlags70メッセージボックス内のテキストに対して、ユーザーによる操作(選択など)を許可するかどうかを示すブール値。
QStyle::SH_TitleBar_AutoRaise51マウスがタイトルバー上のコントロール上に重なった際に、そのコントロールを更新するかどうかを示すブール値。
QStyle::SH_ToolButton_PopupDelay52ツールボタンに紐付けられたメニューのポップアップ遅延時間をミリ秒単位で指定する整数。
QStyle::SH_FocusFrame_Mask53フォーカスフレームのマスク。
QStyle::SH_RubberBand_Mask54ラバーバンドのマスク。
QStyle::SH_WindowFrame_Mask55ウィンドウフレームのマスク。
QStyle::SH_SpinControls_DisableOnBounds56スピン範囲の境界に達したときに、スピンコントロールが無効状態として表示されるかどうかを決定します。
QStyle::SH_Dial_BackgroundRole57ダイヤルウィジェットのスタイルの優先背景ロール(QPalette::ColorRole として)を定義します。
QStyle::SH_ComboBox_LayoutDirection58コンボボックスのレイアウト方向。デフォルトでは、QStyleOption::direction 変数で指定されたものと同じである必要があります。
QStyle::SH_ItemView_EllipsisLocation59ビュー項目に収まりきらないほど長い項目テキストに対して、省略記号を追加する位置。
QStyle::SH_ItemView_ShowDecorationSelected60アイテムビュー内のアイテムが選択された際、ブランチやその他の装飾もハイライト表示します。
QStyle::SH_ItemView_ActivateItemOnSingleClick61ユーザーがアイテムビュー内のアイテムをシングルクリックしたときに、activatedシグナルを発行します。それ以外の場合は、ユーザーがアイテムをダブルクリックしたときにシグナルが発行されます。
QStyle::SH_Slider_AbsoluteSetButtons64どのマウスボタンが、スライダーの値をクリックされた位置に設定するかを指定します。
QStyle::SH_Slider_PageSetButtons65どのマウスボタンで、スライダーの値を 1 ページ分ずつ増減させるかを指定します。
QStyle::SH_TabBar_ElideMode67タブバーのデフォルトの省略スタイル。
QStyle::SH_DialogButtonLayout68QDialogButtonBox 内のボタンの配置方法を制御し、QDialogButtonBox::ButtonLayout 列挙型を返します。
QStyle::SH_WizardStyle78QWizard の外観と操作感を制御します。QWizard::WizardStyle 列挙型を返します。
QStyle::SH_FormLayoutWrapPolicy85QFormLayout 内の行の折り返し方法のデフォルトを設定します。QFormLayout::RowWrapPolicy 列挙型を返します。
QStyle::SH_FormLayoutFieldGrowthPolicy88QFormLayout 内のフィールドの拡張方法に関するデフォルトを設定します。QFormLayout::FieldGrowthPolicy 列挙型を返します。
QStyle::SH_FormLayoutFormAlignment89QFormLayout が利用可能なスペース内でコンテンツをどのように配置するかのデフォルトを設定します。Qt::Alignment 列挙型を返します。
QStyle::SH_FormLayoutLabelAlignment90QFormLayout が利用可能なスペース内でラベルをどのように配置するかのデフォルトを設定します。Qt::Alignment 列挙型を返します。
QStyle::SH_ItemView_ArrowKeysNavigateIntoChildren79ツリービューが展開された状態で右矢印キーが押された際に、最初の子要素が選択されるかどうかを制御します。
QStyle::SH_ComboBox_PopupFrameStyle69コンボボックスのポップアップメニューを描画する際に使用されるフレームスタイル。
QStyle::SH_DialogButtonBox_ButtonsHaveIcons71QDialogButtonBox 内の StandardButtons にアイコンを表示するかどうかを示します。
QStyle::SH_ItemView_MovementWithoutUpdatingSelection74アイテムビューは、選択状態を変更せずに現在の項目を示すことができます。
QStyle::SH_ToolTip_Mask75ツールチップのマスク。
QStyle::SH_FocusFrame_AboveWidget76FocusFrameは、「フォーカスしている」ウィジェットの上に重ねて表示されます。
QStyle::SH_TextControl_FocusIndicatorTextCharFormat77たとえば、QTextBrowser で表示されるリッチテキスト文書において、フォーカスされたアンカーを強調表示するために使用されるテキスト形式を指定します。この形式は、QStyleHintReturnVariant の戻り値のバリアントで返される `QTextCharFormat ` である必要があります。QTextFormat::OutlinePen プロパティは強調表示領域のアウトラインに、QTextFormat::BackgroundBrush は背景に使用されます。
QStyle::SH_Menu_FlashTriggeredItem81Flash によってトリガーされる項目。
QStyle::SH_Menu_FadeOutOnHide82メニューを即座に非表示にするのではなく、フェードアウトさせます。
QStyle::SH_TabWidget_DefaultTabPosition86タブウィジェットにおけるタブバーのデフォルト位置。
QStyle::SH_ToolBar_Movable87ツールバーがデフォルトで移動可能かどうかを決定します。
QStyle::SH_ItemView_PaintAlternatingRowColorsForEmptyArea84QTreeView が、項目がない領域に対して行の色を交互に変更して描画するかどうか。
QStyle::SH_Menu_Mask80ポップアップメニューのマスク。
QStyle::SH_ItemView_DrawDelegateFrame91デリゲートウィジェットにフレームを表示するかどうかを決定します。
QStyle::SH_TabBar_CloseButtonPosition92タブバー内のタブにある閉じるボタンの位置を指定します。
QStyle::SH_DockWidget_ButtonsHaveFrame93ドックウィジェットのボタンに枠を表示するかどうかを指定します。デフォルトは true です。
QStyle::SH_ToolButtonStyle94Qt::ToolButtonFollowStyle を使用するツールボタンのデフォルトのシステムスタイルを決定します。
QStyle::SH_RequestSoftwareInputPanel95入力ウィジェットがソフトウェア入力パネルを要求すべきタイミングを決定します。QStyle::RequestSoftwareInputPanel 型の列挙値を返します。
QStyle::SH_ScrollBar_Transient96スタイルが一時的なスクロールバーをサポートするかどうかを指定します。一時的なスクロールバーは、コンテンツがスクロールされると表示され、不要になると非表示になります。
QStyle::SH_Menu_SupportsSections97スタイルがメニュー内のセクションを表示するか、単なる区切り線として扱うかを決定します。セクションとは、テキストとアイコンによるヒントが付いた区切り線のことです。
QStyle::SH_ToolTip_WakeUpDelay98ツールチップが表示されるまでの遅延時間をミリ秒単位で指定します。
QStyle::SH_ToolTip_FallAsleepDelay99ツールチップが表示された際(注:非表示ではなく「表示」された際)、新しいウェイクタイムが必要になるまでの遅延(ミリ秒単位)を指定します。新しいウェイクタイムが不要な場合、ユーザーが要求したツールチップはほぼ瞬時に表示されます。
QStyle::SH_Widget_Animate100非推奨です。代わりに SH_Widget_Animation_Duration を使用してください。
QStyle::SH_Splitter_OpaqueResize101スプリッターをインタラクティブに動かしている間、ウィジェットのサイズが動的に(不透明な状態で)変更されるかどうかを決定します。この列挙型値は Qt 5.2 で導入されました。
QStyle::SH_TabBar_ChangeCurrentDelay104タブバー上でドラッグ操作を行った際に、現在のタブが切り替わるまでの遅延時間をミリ秒単位で指定します。この列挙型値は Qt 5.4 で導入されました。
QStyle::SH_ItemView_ScrollMode111スタイルで指定されるデフォルトの垂直および水平スクロールモード。QAbstractItemView::setVerticalScrollMode() およびQAbstractItemView::setHorizontalScrollMode() を使用して上書き可能です。この列挙型値は Qt 5.7 で導入されました。
QStyle::SH_TitleBar_ShowToolTipsOnButtons112ウィンドウのタイトルバーのボタンにツールチップを表示するかどうかを決定します。たとえば、Mac スタイルでは、これを false に設定します。この列挙型値は Qt 5.10 で導入されました。
QStyle::SH_Widget_Animation_Duration113アニメーションの継続時間(ミリ秒単位)を指定します。値が 0 の場合、アニメーションは無効になります。この列挙型値は Qt 5.10 で導入されました。
QStyle::SH_ComboBox_AllowWheelScrolling114QComboBox 内でマウスホイールを使用してスクロールできるかどうかを指定します。Macスタイルを除くすべてのスタイルで、デフォルトでは有効になっています。この列挙値はQt 5.10で導入されました。
QStyle::SH_SpinBox_ButtonsInsideFrame115スピンボックスのボタンがラインエディットフレーム内に配置されるかどうかを指定します。この列挙型値はQt 5.11で導入されました。
QStyle::SH_SpinBox_StepModifier116Qt::KeyboardModifier のうち、どの要素が `QAbstractSpinBox` のステップレートを増加させるかを指定します。可能な値は、Qt::NoModifier 、Qt::ControlModifier (デフォルト)、またはQt::ShiftModifier です。Qt::NoModifier を指定すると、この機能は無効になります。この列挙型値は Qt 5.12 で導入されました。
QStyle::SH_TabBar_AllowWheelScrolling117QTabBar のタブ間をマウスホイールで切り替えられるかどうかを決定します。この列挙値はQt 6.1で導入されました。
QStyle::SH_Table_AlwaysDrawLeftTopGridLines118ヘッダーが非表示のときに、テーブルの最左端および最上部のグリッド線を表示するかどうかを決定します。デフォルトは false です。この列挙型値は Qt 6.3 で導入されました。

styleHint()も参照してください 。

enum QStyle::SubControl
flags QStyle::SubControls

この列挙型は、利用可能なサブコントロールを定義します。サブコントロールとは、複合コントロール(ComplexControl )内に含まれるコントロール要素のことです。

定数値説明
QStyle::SC_None0x00000000他のどのサブコントロールにも一致しない特別な値。
QStyle::SC_ScrollBarAddLine0x00000001スクロールバーの追加ライン(つまり、下/右矢印)。QScrollBar も参照してください。
QStyle::SC_ScrollBarSubLine0x00000002スクロールバーの行移動(つまり、上/左矢印)。
QStyle::SC_ScrollBarAddPage0x00000004スクロールバーのページ追加(つまり、Page Down)。
QStyle::SC_ScrollBarSubPage0x00000008スクロールバーのサブページ(つまり、Page Up)。
QStyle::SC_ScrollBarFirst0x00000010スクロールバーの最初の行 (つまり、ホーム)。
QStyle::SC_ScrollBarLast0x00000020スクロールバーの最終行(つまり、末尾)。
QStyle::SC_ScrollBarSlider0x00000040スクロールバーのスライダーハンドル。
QStyle::SC_ScrollBarGroove0x00000080スライダーハンドルが移動できる領域を含む、特別なサブコントロール。
QStyle::SC_SpinBoxUp0x00000001スピンウィジェットの上方向/増加。QSpinBox も参照してください。
QStyle::SC_SpinBoxDown0x00000002スピンウィジェットのダウン/減少。
QStyle::SC_SpinBoxFrame0x00000004スピンウィジェットのフレーム。
QStyle::SC_SpinBoxEditField0x00000008スピンウィジェットの編集フィールド。
QStyle::SC_ComboBoxEditField0x00000002コンボボックスの編集フィールド。QComboBox も参照してください。
QStyle::SC_ComboBoxArrow0x00000004コンボボックスの矢印ボタン。
QStyle::SC_ComboBoxFrame0x00000001コンボボックスのフレーム。
QStyle::SC_ComboBoxListBoxPopup0x00000008コンボボックスのポップアップの参照矩形。ポップアップの位置を計算するために使用されます。
QStyle::SC_SliderGroove0x00000001スライダーのハンドルが移動できる領域を含む、特別なサブコントロール。
QStyle::SC_SliderHandle0x00000002スライダーのハンドル。
QStyle::SC_SliderTickmarks0x00000004スライダーの目盛り。
QStyle::SC_ToolButton0x00000001ツールボタン(QToolButton も参照)。
QStyle::SC_ToolButtonMenu0x00000002ツールボタンでポップアップメニューを開くためのサブコントロール。
QStyle::SC_TitleBarSysMenu0x00000001システムメニューボタン(復元、閉じるなど)。
QStyle::SC_TitleBarMinButton0x00000002最小化ボタン。
QStyle::SC_TitleBarMaxButton0x00000004最大化ボタン。
QStyle::SC_TitleBarCloseButton0x00000008閉じるボタン。
QStyle::SC_TitleBarLabel0x00000100ウィンドウのタイトルラベル。
QStyle::SC_TitleBarNormalButton0x00000010通常(復元)ボタン。
QStyle::SC_TitleBarShadeButton0x00000020シェードボタン。
QStyle::SC_TitleBarUnshadeButton0x00000040「非表示解除」ボタン。
QStyle::SC_TitleBarContextHelpButton0x00000080コンテキストヘルプボタン。
QStyle::SC_DialHandle0x00000002ダイヤルのハンドル(つまり、ダイヤルを操作するために使用する部分)。
QStyle::SC_DialGroove0x00000001ダイヤルの溝。
QStyle::SC_DialTickmarks0x00000004ダイヤルの目盛り。
QStyle::SC_GroupBoxFrame0x00000008グループボックスの枠。
QStyle::SC_GroupBoxLabel0x00000002グループボックスのタイトル。
QStyle::SC_GroupBoxCheckBox0x00000001グループボックスのオプションのチェックボックス。
QStyle::SC_GroupBoxContents0x00000004グループボックスの内容。
QStyle::SC_MdiNormalButton0x00000002メニューバーにある MDI サブウィンドウの通常ボタン。
QStyle::SC_MdiMinButton0x00000001メニューバー上の MDI サブウィンドウの最小化ボタン。
QStyle::SC_MdiCloseButton0x00000004メニューバーにある MDI サブウィンドウの閉じるボタン。
QStyle::SC_All0xffffffffすべてのサブコントロールに一致する特別な値。

SubControls 型は、QFlags<SubControl> の typedef です。これは、SubControl 値の論理和 (OR) 組み合わせを格納します。

ComplexControlも参照してください 。

enum QStyle::SubElement

この列挙型は、ウィジェットのサブ領域を表します。スタイルの実装では、これらの領域を使用してウィジェットの各部分を描画します。

定数値説明
QStyle::SE_PushButtonContents0ラベル(テキスト付きアイコンまたはピクマップ)を含む領域。
QStyle::SE_PushButtonFocusRect1フォーカス矩形用の領域(通常、コンテンツ矩形よりも大きい)。
QStyle::SE_PushButtonLayoutItem37親レイアウトに算入される領域。
QStyle::SE_PushButtonBevel (since Qt 5.15)56ボタンのベベルに使用される領域。
QStyle::SE_CheckBoxIndicator2状態インジケータ(チェックマークなど)用の領域。
QStyle::SE_CheckBoxContents3ラベル(テキストまたはピクマップ)用の領域。
QStyle::SE_CheckBoxFocusRect4フォーカスインジケータ用の領域。
QStyle::SE_CheckBoxClickRect5クリック可能な領域。デフォルトは SE_CheckBoxFocusRect です。
QStyle::SE_CheckBoxLayoutItem32親レイアウトとして扱われる領域。
QStyle::SE_DateTimeEditLayoutItem34親レイアウトにカウントされる領域。
QStyle::SE_RadioButtonIndicator6状態インジケータ用の領域。
QStyle::SE_RadioButtonContents7ラベル用の領域。
QStyle::SE_RadioButtonFocusRect8フォーカスインジケータ用の領域。
QStyle::SE_RadioButtonClickRect9クリック可能な領域。デフォルトは SE_RadioButtonFocusRect です。
QStyle::SE_RadioButtonLayoutItem38親レイアウトにカウントされる領域。
QStyle::SE_ComboBoxFocusRect10フォーカスインジケータ用の領域。
QStyle::SE_SliderFocusRect11フォーカスインジケータ用の領域。
QStyle::SE_SliderLayoutItem39親レイアウトとしてカウントされる領域。
QStyle::SE_SpinBoxLayoutItem40親レイアウトにカウントされる領域。
QStyle::SE_ProgressBarGroove12溝用の領域。
QStyle::SE_ProgressBarContents13進行状況インジケータ用の領域。
QStyle::SE_ProgressBarLabel14テキストラベル用の領域。
QStyle::SE_ProgressBarLayoutItem36親レイアウトにカウントされる領域。
QStyle::SE_FrameContents27フレームの内容用の領域。
QStyle::SE_ShapedFrameContents51QStyleOptionFrame 内の図形を使用したフレームの内容用の領域。詳細はQFrame
QStyle::SE_FrameLayoutItem42親レイアウトの計算対象となる領域。
QStyle::SE_HeaderArrow17ヘッダーのソートインジケータ用の領域。
QStyle::SE_HeaderLabel16ヘッダー内のラベル用の領域。
QStyle::SE_LabelLayoutItem35親レイアウトにカウントされる領域。
QStyle::SE_LineEditContents26ラインエディットのコンテンツ用の領域。
QStyle::SE_TabWidgetLeftCorner21タブウィジェット内の左隅のウィジェット用の領域。
QStyle::SE_TabWidgetRightCorner22タブウィジェット内の右隅のウィジェット用の領域。
QStyle::SE_TabWidgetTabBar18タブウィジェット内のタブバーウィジェット用の領域。
QStyle::SE_TabWidgetTabContents20タブウィジェットのコンテンツ用の領域。
QStyle::SE_TabWidgetTabPane19タブウィジェットのペイン用の領域。
QStyle::SE_TabWidgetLayoutItem44親レイアウトとして扱われる領域。
QStyle::SE_ToolBoxTabContents15ツールボックスのタブのアイコンとラベル用の領域。
QStyle::SE_ToolButtonLayoutItem41親レイアウトとしてカウントされる領域。
QStyle::SE_ItemViewItemCheckIndicator23ビュー項目のチェックマーク用の領域。
QStyle::SE_TabBarTearIndicator24非推奨。代わりに SE_TabBarTearIndicatorLeft を使用してください。
QStyle::SE_TabBarTearIndicatorLeftSE_TabBarTearIndicatorスクロール矢印付きのタブバーの左側にあるティアインジケータ用の領域。
QStyle::SE_TabBarTearIndicatorRight55スクロール矢印付きのタブバーの右側にあるティアインジケータ用の領域。
QStyle::SE_TabBarScrollLeftButton53スクロールボタン付きのタブバー上の「左へスクロール」ボタンの領域。
QStyle::SE_TabBarScrollRightButton54スクロールボタン付きのタブバー上の、右スクロールボタンの領域。
QStyle::SE_TreeViewDisclosureItem25ツリーブランチ内の実際の展開項目の領域。
QStyle::SE_GroupBoxLayoutItem43親レイアウトとして扱われる領域。
QStyle::SE_CustomBase0xf0000000カスタムサブ要素のベース値。カスタム値はこの値より大きくなければなりません。
QStyle::SE_DockWidgetFloatButton29ドックウィジェットのフロートボタン。
QStyle::SE_DockWidgetTitleBarText30ドックウィジェットのタイトルのテキスト境界。
QStyle::SE_DockWidgetCloseButton28ドックウィジェットの閉じるボタン。
QStyle::SE_DockWidgetIcon31ドックウィジェットのアイコン。
QStyle::SE_ComboBoxLayoutItem33親レイアウトとして扱われる領域。
QStyle::SE_ItemViewItemDecoration45ビュー項目の装飾(アイコン)用の領域。
QStyle::SE_ItemViewItemText46ビュー項目のテキスト用の領域。
QStyle::SE_ItemViewItemFocusRect47ビュー項目のフォーカス矩形用の領域。
QStyle::SE_TabBarTabLeftButton48タブバー内のタブの左側にあるウィジェット用の領域。
QStyle::SE_TabBarTabRightButton49タブバー内のタブの右側にあるウィジェット用の領域。
QStyle::SE_TabBarTabText50タブバー内のタブ上のテキスト用の領域。
QStyle::SE_ToolBarHandle52ツールバーのハンドル用の領域。

subElementRect()も参照してください 。

メンバ関数のドキュメント

QStyle::QStyle()

スタイルオブジェクトを作成します。

[virtual noexcept] QStyle::~QStyle()

スタイルオブジェクトを破棄します。

[static] QRect QStyle::alignedRect(Qt::LayoutDirection direction, Qt::Alignment alignment, const QSize &size, const QRect &rectangle)

指定されたsize を持つ新しい矩形を返します。この矩形は、指定されたalignment およびdirection に従って、指定されたrectangle に合わせて配置されます。

int QStyle::combinedLayoutSpacing(QSizePolicy::ControlTypes controls1, QSizePolicy::ControlTypes controls2, Qt::Orientation orientation, QStyleOption *option = nullptr, QWidget *widget = nullptr) const

レイアウト内で、controls1 とcontrols2 の間に設定すべき間隔を返します。orientation は、コントロールが横並びに配置されるか、縦に積み重ねられるかを指定します。option パラメータを使用すると、親ウィジェットに関する追加情報を渡すことができます。widget パラメータはオプションであり、option がnullptr の場合にも使用できます。

controls1 また、controls2 は、0個以上のcontrol types の論理和(OR)の組み合わせです。

この関数はレイアウトシステムによって呼び出されます。PM_LayoutHorizontalSpacing またはPM_LayoutVerticalSpacing が負の値を返した場合にのみ使用されます。

layoutSpacing()も参照してください 。

[pure virtual] void QStyle::drawComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget = nullptr) const

指定された `control ` を、指定された `painter ` を使用し、`option` で指定されたスタイルオプションに基づいて描画します。

widget 引数はオプションであり、コントロールの描画を補助するために使用できます。

option パラメータは、QStyleOptionComplex オブジェクトへのポインタであり、qstyleoption_cast()関数を使用して適切なサブクラスにキャストすることができます。指定されたoption のrect メンバは、論理座標でなければならないことに注意してください。この関数の再実装では、drawPrimitive()またはdrawControl()関数を呼び出す前に、visualRect()を使用して論理座標を画面座標に変換する必要があります。

以下の表は、複合コントロール要素と、それに関連付けられたスタイルオプションのサブクラスを一覧表示しています。スタイルオプションには、コントロールを描画するために必要なすべてのパラメータが含まれており、これには描画時に使用されるstyle flags を保持するQStyleOption::state も含まれます。また、この表では、指定されたoption を適切なサブクラスにキャストする際に、どのフラグが設定されるかも説明しています。

複合コントロールQStyleOptionComplex サブクラススタイルフラグ備考
CC_SpinBoxQStyleOptionSpinBoxState_Enabledスピンボックスが有効な場合に設定されます。
State_HasFocusスピンボックスに入力フォーカスがある場合に設定します。
CC_ComboBoxQStyleOptionComboBoxState_Enabledコンボボックスが有効な場合は、このフラグを設定します。
State_HasFocusコンボボックスに入力フォーカスがある場合に設定されます。
CC_ScrollBarQStyleOptionSliderState_Enabledスクロールバーが有効な場合に設定します。
State_HasFocusスクロールバーにフォーカスがある場合に設定します。
CC_SliderQStyleOptionSliderState_Enabledスライダーが有効な場合に設定します。
State_HasFocusスライダーに入力フォーカスがある場合に設定します。
CC_DialQStyleOptionSliderState_Enabledダイヤルが有効になっている場合に設定します。
State_HasFocusダイヤルに入力フォーカスがある場合に設定します。
CC_ToolButtonQStyleOptionToolButtonState_Enabledツールボタンが有効になっているかどうかを設定します。
State_HasFocusツールボタンにフォーカスがある場合に設定します。
State_DownArrowツールボタンが押されている場合(つまり、マウスボタンまたはスペースキーが押されている場合)に設定します。
State_Onツールボタンがトグルボタンであり、オンになっている場合にセットします。
State_AutoRaiseツールボタンの自動リフトが有効になっている場合に設定します。
State_Raised自動リフトが有効な場合、ボタンが押下されておらず、オンでもなく、かつマウスがボタン内にない場合に設定します。
CC_TitleBarQStyleOptionTitleBarState_Enabledタイトルバーが有効になっている場合にセットします。

drawPrimitive() およびdrawControl()も参照してください 。

[pure virtual] void QStyle::drawControl(QStyle::ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const

指定されたelement を、指定されたpainter を使用して、option で指定されたスタイルオプションで描画します。

widget 引数はオプションであり、コントロールの描画補助として使用できます。option パラメータは、QStyleOption オブジェクトへのポインタであり、qstyleoption_cast()関数を使用して適切なサブクラスにキャストすることができます。

以下の表は、コントロール要素とそれに関連付けられたスタイルオプションのサブクラスを一覧表示したものです。スタイルオプションには、コントロールの描画に必要なすべてのパラメータが含まれており、これには描画時に使用されるスタイルフラグを保持する `QStyleOption::state ` も含まれます。また、この表では、指定されたオプションを適切なサブクラスにキャストする際に、どのフラグが設定されるかについても説明しています。

なお、ここにリストされていないコントロール要素がある場合は、その要素が単純な `QStyleOption ` オブジェクトを使用しているためです。

コントロール要素QStyleOption サブクラススタイルフラグ備考
CE_MenuItem,CE_MenuBarItemQStyleOptionMenuItemState_Selectedこのメニュー項目は現在選択されている項目です。
State_Enabledこの項目は有効です。
State_DownArrowスクロールダウン矢印を描画する必要があることを示します。
State_UpArrowスクロールアップ矢印を描画する必要があることを示します。
State_HasFocusメニューバーが入力フォーカスを持っている場合に設定します。
CE_PushButton、CE_PushButtonBevel 、CE_PushButtonLabelQStyleOptionButtonState_Enabledボタンが有効な場合に設定します。
State_HasFocusボタンに入力フォーカスがある場合に設定します。
State_Raisedボタンが「ダウン」状態でも「オン」状態でも「フラット」状態でもない場合に設定します。
State_Onボタンがトグルボタンであり、オンになっている場合にセットします。
State_Sunkenボタンが押下されている場合(つまり、ボタン上でマウスボタンまたはスペースキーが押されている場合)に設定されます。
CE_RadioButton、CE_RadioButtonLabel 、CE_CheckBox 、CE_CheckBoxLabelQStyleOptionButtonState_Enabledボタンが有効な場合に設定します。
State_HasFocusボタンが入力フォーカスを持っている場合に設定されます。
State_Onボタンがチェックされている場合に設定します。
State_Offボタンがチェックされていない場合に設定します。
State_NoChangeボタンが NoChange 状態の場合に設定します。
State_Sunkenボタンが押されている場合(つまり、ボタン上でマウスボタンまたはスペースキーが押されている場合)に設定します。
CE_ProgressBarContents、CE_ProgressBarLabel 、CE_ProgressBarGrooveQStyleOptionProgressBarState_Enabledプログレスバーが有効な場合に設定します。
State_HasFocusプログレスバーに入力フォーカスがある場合に設定します。
CE_Header,CE_HeaderSection,CE_HeaderLabelQStyleOptionHeader
CE_TabBarTab,CE_TabBarTabShape,CE_TabBarTabLabelQStyleOptionTabState_Enabledタブバーが有効になっている場合に設定します。
State_Selectedタブバーは、現在選択されているタブバーです。
State_HasFocusタブバーのタブが入力フォーカスを持っている場合に設定します。
CE_ToolButtonLabelQStyleOptionToolButtonState_Enabledツールボタンが有効になっている場合に設定されます。
State_HasFocusツールボタンにフォーカスがある場合に設定されます。
State_Sunkenツールボタンが押されている場合(つまり、マウスボタンまたはスペースキーが押されている場合)に設定します。
State_Onツールボタンがトグルボタンであり、オンになっている場合に設定されます。
State_AutoRaiseツールボタンの自動リフトが有効になっている場合に設定します。
State_MouseOverマウスポインタがツールボタンの上にある場合にセットします。
State_Raisedボタンが押されておらず、オンになっていない場合は、このプロパティを設定します。
CE_ToolBoxTabQStyleOptionToolBoxState_Selectedこのタブは、現在選択されているタブです。
CE_HeaderSectionQStyleOptionHeaderState_Sunkenセクションが押されていることを示します。
State_UpArrowソートインジケータが上向きであるべきことを示します。
State_DownArrowソートインジケータが下を向いていることを示します。

drawPrimitive() およびdrawComplexControl()も参照してください 。

[virtual] void QStyle::drawItemPixmap(QPainter *painter, const QRect &rectangle, int alignment, const QPixmap &pixmap) const

指定されたpixmap を、指定されたrectangle に、指定されたalignment に従って、渡されたpainter を使用して描画します。

drawItemText()も参照してください 。

[virtual] void QStyle::drawItemText(QPainter *painter, const QRect &rectangle, int alignment, const QPalette &palette, bool enabled, const QString &text, QPalette::ColorRole textRole = QPalette::NoRole) const

指定された「text 」を、指定された「rectangle 」に、提供された「painter 」および「palette 」を使用して描画します。

テキストはペインターのペンを使用して描画され、指定されたalignment に従って配置および改行されます。明示的なtextRole が指定されている場合、テキストはpalette の指定された役割に対応する色を使用して描画されます。enabled パラメータは、アイテムが有効かどうかを示します。この関数を再実装する際は、enabled パラメータがアイテムの描画方法に影響を与えるようにする必要があります。

Qt::Alignment およびdrawItemPixmap()も参照してください 。

[pure virtual] void QStyle::drawPrimitive(QStyle::PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const

指定されたプリミティブ `element ` を、指定された `painter ` を用いて、`option` で指定されたスタイルオプションに従って描画します。

widget 引数はオプションであり、プリミティブ要素の描画に役立つウィジェットを含む場合があります。

以下の表は、プリミティブ要素とそれに関連付けられたスタイルオプションのサブクラスを一覧表示しています。スタイルオプションには、要素を描画するために必要なすべてのパラメータが含まれており、これには描画時に使用されるスタイルフラグを保持するQStyleOption::state も含まれます。また、この表では、指定されたオプションを適切なサブクラスにキャストする際に、どのフラグが設定されるかについても説明しています。

なお、ここにプリミティブ要素が記載されていない場合は、その要素が単純な `QStyleOption ` オブジェクトを使用しているためです。

プリミティブ要素QStyleOption サブクラススタイルフラグ備考
PE_FrameFocusRectQStyleOptionFocusRectState_FocusAtBorderフォーカスが境界線にあるか、ウィジェット内部にあるかを指定します。
PE_IndicatorCheckBoxQStyleOptionButtonState_NoChange「3 状態」のチェックボックスを示します。
State_Onインジケータがチェックされていることを示します。
PE_IndicatorRadioButtonQStyleOptionButtonState_Onラジオボタンが選択されていることを示します。
State_NoChange「3 状態」のコントローラーであることを示します。
State_Enabledコントローラが有効であることを示します。
PE_IndicatorBranchQStyleOptionState_Childrenツリーを展開して子項目を表示するためのコントロールが描画されるべきであることを示します。
State_Item(子項目を表示するための)水平ブランチを描画する必要があることを示します。
State_Openツリーブランチが展開されていることを示します。
State_Sibling(兄弟項目を表示するための)垂直線が描画されるべきであることを示します。
PE_IndicatorHeaderArrowQStyleOptionHeaderState_UpArrow矢印を上向きに描画する必要があることを示します。そうでない場合は下向きに描画されます。
PE_FrameGroupBox,PE_Frame,PE_FrameLineEdit,PE_FrameMenu,PE_FrameDockWidget,PE_FrameWindowQStyleOptionFrameState_Sunkenフレームを窪ませることを示します。
PE_IndicatorToolBarHandleQStyleOptionState_Horizontalウィンドウのハンドルが垂直ではなく水平であることを示します。
PE_IndicatorSpinPlus,PE_IndicatorSpinMinus,PE_IndicatorSpinUp,PE_IndicatorSpinDown,QStyleOptionSpinBoxState_Sunkenボタンが押されていることを示します。
PE_PanelButtonCommandQStyleOptionButtonState_Enabledボタンが有効な場合に設定します。
State_HasFocusボタンに入力フォーカスがある場合に設定します。
State_Raisedボタンが「down」、「on」、「flat」のいずれでもない場合に設定します。
State_Onボタンがトグルボタンであり、オンになっている場合に設定されます。
State_Sunkenボタンが押されている場合(つまり、ボタン上でマウスボタンまたはスペースキーが押されている場合)に設定します。

drawComplexControl() およびdrawControl()も参照してください 。

[pure virtual] QPixmap QStyle::generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap, const QStyleOption *option) const

指定されたpixmap のコピーを返します。このコピーは、指定されたiconMode に準拠するようにスタイルが設定され、option で指定されたパレットが反映されています。

option パラメータには追加情報を渡すことができますが、パレットを含んでいる必要があります。

すべてのピクマップがこれに準拠するわけではないことに注意してください。その場合、返されるピクマップは単なるコピーとなります。

QIconも参照してください 。

[pure virtual] QStyle::SubControl QStyle::hitTestComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, const QPoint &position, const QWidget *widget = nullptr) const

指定されたposition にあるサブコントロールを、指定された複合control で返します(スタイルオプションはoption で指定されます)。

なお、position は画面座標で表現されることに注意してください。

option 引数は、QStyleOptionComplex オブジェクト(またはそのサブクラスのいずれか)へのポインタです。このオブジェクトは、qstyleoption_cast()関数を使用して適切な型にキャストできます。詳細については、drawComplexControl()を参照してください。widget 引数はオプションであり、この関数に対する追加情報を含めることができます。

drawComplexControl() およびsubControlRect()も参照してください 。

[virtual] QRect QStyle::itemPixmapRect(const QRect &rectangle, int alignment, const QPixmap &pixmap) const

指定されたrectangle 内の領域のうち、定義されたalignment に従って指定されたpixmap を描画する領域を返します。

[virtual] QRect QStyle::itemTextRect(const QFontMetrics &metrics, const QRect &rectangle, int alignment, bool enabled, const QString &text) const

指定されたrectangle 内の領域を返します。この領域内では、指定されたフォントmetrics およびalignment に従って、渡されたtext が描画されます。enabled パラメータは、関連する項目が有効かどうかを示します。

指定されたrectangle がtext の描画に必要な領域よりも大きい場合、返される矩形は、指定されたalignment に従ってrectangle 内でオフセットされます。たとえば、alignment がQt::AlignCenter の場合、返される矩形はrectangle 内で中央に配置されます。指定されたrectangle が必要な領域よりも小さい場合、返される矩形はtext を描画するのに十分な最小の矩形となります。

Qt::Alignmentも参照してください 。

[pure virtual] int QStyle::layoutSpacing(QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const

レイアウト内で、control1 とcontrol2 の間に設定すべき間隔を返します。orientation は、コントロールが横並びに配置されるか、縦に積み重ねられるかを指定します。option パラメータを使用すると、親ウィジェットに関する追加情報を渡すことができます。widget パラメータはオプションであり、option がnullptr の場合にも使用できます。

この関数はレイアウトシステムによって呼び出されます。PM_LayoutHorizontalSpacing またはPM_LayoutVerticalSpacing が負の値を返した場合にのみ使用されます。

combinedLayoutSpacing()も参照してください 。

[since 6.1] QString QStyle::name() const

スタイルの名前を返します。

この値は、QStyleFactory::create() を使用してスタイルを作成する際に利用できます。

この関数は Qt 6.1 で導入されました。

QStyleFactory::create()も参照してください 。

[pure virtual] int QStyle::pixelMetric(QStyle::PixelMetric metric, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const

指定されたピクセルの値metric を返します。

指定されたoption およびwidget は、メトリックの計算に使用できます。option は、qstyleoption_cast()関数を使用して適切な型にキャストできます。option は、それを利用できるPixelMetricsであってもゼロになる場合があることに注意してください。適切なoption のキャストについては、以下の表を参照してください:

ピクセルメトリックの中には、ウィジェットから呼び出されるものと、スタイル内部でのみ呼び出されるものがあります。メトリックがウィジェットから呼び出されない場合、それを活用するかどうかはスタイル作成者の裁量に委ねられます。スタイルによっては、これが適切でない場合もあります。

[virtual] void QStyle::polish(QWidget *widget)

指定されたwidget の外観を初期化します。

この関数は、ウィジェットが完全に生成された後、初めて表示される直前の時点で、各ウィジェットに対して呼び出されます。

デフォルトの実装では何も行われないことに注意してください。この関数で適切な処理としては、ウィジェットに対して QWidget::setBackgroundMode() 関数を呼び出すことが考えられます。 たとえば、ジオメトリを設定するためにこの関数を使用しないでください。この関数を再実装すると、ウィジェットの外観を変更できる裏口が提供されますが、Qt のスタイルエンジンを使用している場合、この関数を実装する必要はほとんどありません。代わりに、drawItemPixmap()、drawItemText()、drawPrimitive() などを再実装してください。

QWidget::inherits() 関数は、クラス固有のカスタマイズを行うのに十分な情報を提供する場合があります。しかし、新しいQStyle のサブクラスは、現在および将来のすべてのウィジェットと適切に動作することが期待されるため、ハードコーディングによるカスタマイズは限定的に使用することを推奨します。

unpolish()も参照してください 。

[virtual] void QStyle::polish(QApplication *application)

指定されたapplication オブジェクトの初期化が遅延しています。

これはオーバーロードされた関数です。

[virtual] void QStyle::polish(QPalette &palette)

カラーパレットに関するスタイル固有の要件(ある場合)に従って、palette を変更します。

これはオーバーロードされた関数です。

QPalette およびQApplication::setPalette()も参照してください 。

const QStyle *QStyle::proxy() const

この関数は、このスタイルの現在のプロキシを返します。デフォルトでは、ほとんどのスタイルは自分自身を返します。ただし、プロキシスタイルが使用されている場合、そのスタイルはプロキシに対してコールバックを行うことが可能になります。

[pure virtual] QSize QStyle::sizeFromContents(QStyle::ContentsType type, const QStyleOption *option, const QSize &contentsSize, const QWidget *widget = nullptr) const

指定されたoption およびtype で記述される要素のサイズを、渡されたcontentsSize に基づいて返します。

option 引数は、QStyleOption またはそのサブクラスのいずれかへのポインタです。option は、qstyleoption_cast()関数を使用して適切な型にキャストできます。widget はオプションの引数であり、サイズの計算に使用される追加情報を含むことができます。

適切なoption へのキャストについては、以下の表を参照してください:

「 ContentsType 」および「QStyleOption 」も参照してください 。

[static] int QStyle::sliderPositionFromValue(int min, int max, int logicalValue, int span, bool upsideDown = false)

指定されたlogicalValue をピクセル位置に変換します。min パラメータは0に、max はspan にそれぞれ対応し、その他の値はこれらの中間に均等に割り当てられます。

span が4096未満である限り、この関数はオーバーフローすることなく整数の全範囲を処理できます。

デフォルトでは、この関数は、水平方向の項目については最大値が右側に、垂直方向の項目については下側にあると想定しています。この動作を逆にするには、upsideDown パラメータを true に設定してください。

sliderValueFromPosition()も参照してください 。

[static] int QStyle::sliderValueFromPosition(int min, int max, int position, int span, bool upsideDown = false)

指定されたピクセルposition を論理値に変換します。0はmin パラメータに対応し、span はmax に対応し、その他の値はこれらの中間に均等に割り振られます。

この関数は、オーバーフローすることなく整数の全範囲を処理できます。

デフォルトでは、この関数は、水平方向の項目については最大値が右側に、垂直方向の項目については下側にあると想定します。この動作を逆にするには、upsideDown パラメータをtrueに設定してください。

sliderPositionFromValue()も参照してください 。

[pure virtual] QIcon QStyle::standardIcon(QStyle::StandardPixmap standardIcon, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const

指定されたstandardIcon に対応するアイコンを返します。

standardIcon は、既存のGUIスタイルやガイドラインに準拠できる標準的なピクマップです。option 引数を使用すると、適切なアイコンを定義する際に必要な追加情報を渡すことができます。widget 引数はオプションであり、アイコンの決定を支援するためにも使用できます。

[virtual] QPalette QStyle::standardPalette() const

スタイルの標準パレットを返します。

システムカラーをサポートしているシステムでは、スタイルの標準パレットは使用されないことに注意してください。特に、Windows Vista および Mac スタイルでは、標準パレットは使用されず、ネイティブのテーマエンジンが利用されます。これらのスタイルでは、QApplication::setPalette() を使用してパレットを設定しないでください。

QApplication::setPalette()も参照してください 。

[pure virtual] int QStyle::styleHint(QStyle::StyleHint hint, const QStyleOption *option = nullptr, const QWidget *widget = nullptr, QStyleHintReturn *returnData = nullptr) const

指定されたスタイル `hint ` を表す整数を返します。これは、指定されたスタイル `option` で記述された、指定された `widget ` に対するものです。

returnData これは、クエリを実行するウィジェットが、styleHint() が返す整数よりも詳細なデータを必要とする場合に使用されます。詳細については、QStyleHintReturn クラスの説明を参照してください。

[pure virtual] QRect QStyle::subControlRect(QStyle::ComplexControl control, const QStyleOptionComplex *option, QStyle::SubControl subControl, const QWidget *widget = nullptr) const

指定されたsubControl を含む、与えられた複素数control の矩形を返します(スタイルはoption で指定されます)。この矩形は画面座標で定義されます。

option 引数は、QStyleOptionComplex またはそのサブクラスのいずれかへのポインタであり、qstyleoption_cast()関数を使用して適切な型にキャストすることができます。詳細については、drawComplexControl()を参照してください。widget はオプションであり、この関数に対する追加情報を含めることができます。

drawComplexControl()も参照してください 。

[pure virtual] QRect QStyle::subElementRect(QStyle::SubElement element, const QStyleOption *option, const QWidget *widget = nullptr) const

指定されたelement に対し、提供されたスタイルoption に従ってサブ領域を返します。返される矩形は画面座標で定義されます。

widget 引数はオプションであり、領域の決定を補助するために使用できます。QStyleOption オブジェクトは、qstyleoption_cast()関数を使用して適切な型にキャストできます。適切なoption のキャストについては、以下の表を参照してください:

[virtual] void QStyle::unpolish(QWidget *widget)

指定されたwidget の外観を初期化解除します。

この関数は、polish() の対応関数です。スタイルが動的に変更されるたびに、ポリッシュ処理済みのウィジェットごとに呼び出されます。新しいスタイルが設定を再度ポリッシュ処理する前に、以前のスタイルはその設定のポリッシュ処理を解除する必要があります。

unpolish() は、ウィジェットが破棄された場合にのみ呼び出されることに注意してください。これは、例えば、UI からウィジェットを削除し、キャッシュした後、スタイルが変更された後に再び挿入する場合など、場合によっては問題を引き起こす可能性があります。Qt のクラスの中には、ウィジェットをキャッシュするものがあるからです。

polish()も参照してください 。

[virtual] void QStyle::unpolish(QApplication *application)

指定されたapplication の初期化を解除します。

これはオーバーロードされた関数です。

[static] Qt::Alignment QStyle::visualAlignment(Qt::LayoutDirection direction, Qt::Alignment alignment)

Qt::AlignAbsolute を持たないQt::AlignLeft またはQt::AlignRight の `alignment ` を、レイアウトdirection に基づいて、Qt::AlignAbsolute を持つQt::AlignLeft またはQt::AlignRight に変換します。その他の配置フラグは変更されません。

水平方向の配置が指定されていない場合、この関数は指定されたレイアウトdirection に対するデフォルトの配置を返します。

QWidget::layoutDirection

[static] QPoint QStyle::visualPos(Qt::LayoutDirection direction, const QRect &boundingRectangle, const QPoint &logicalPosition)

logicalPosition 指定されたdirection を、指定された に基づいて画面座標に変換したものを返します。boundingRectangle は、変換を行う際に使用されます。

「QWidget::layoutDirection」も参照してください 。

[static] QRect QStyle::visualRect(Qt::LayoutDirection direction, const QRect &boundingRectangle, const QRect &logicalRectangle)

指定された `direction` に基づいて、指定された `logicalRectangle ` を画面座標に変換して返します。変換を行う際には、`boundingRectangle ` が使用されます。

この関数は、右から左へのデスクトップをサポートするために提供されており、通常はsubControlRect()関数の実装で使用されます。

QWidget::layoutDirectionも参照してください 。

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