このページでは

スタイルとスタイル対応ウィジェット

スタイル(QStyle を継承するクラス)は、ウィジェットに代わって描画を行い、GUI のルックアンドフィールをカプセル化します。QStyle は抽象基底クラスです。Qt の組み込みウィジェットは、その描画のほぼすべてにおいてこのクラスを使用しているため、対応するネイティブウィジェットとまったく同じ外観になります。

Qt には、いくつかの組み込みスタイルが用意されています。windows およびfusion スタイルは、Qt Widgets モジュールの一部です。Windowsのwindows11 やmacOSのmacos といったプラットフォーム固有のスタイルは、それぞれのプラットフォームでのみ利用可能なプラグインです。QStyleFactory は、実行時に利用可能なスタイルを一覧表示し、名前を指定してそれらを作成します。QApplication::setStyle()は、あるスタイルをアプリケーションのスタイルに設定し、ユーザーは-style コマンドラインオプションを使用してスタイルを選択できます。

QStyle の実装は、本番アプリケーションに独自の外観を与える方法です。StyleKitは、デザインのQML記述を読み込むQStyleKitStyle という実装を提供しています。スタイル、StyleKit、またはスタイルシートのいずれを使用すべきかについては、『Qt Widgets のスタイリング手法』を参照してください。

スタイルのカスタマイズ

既存のスタイルの特定の側面を変更するには、QProxyStyle を継承し、変更したい要素を描画または測定する仮想関数を再実装します。プロキシスタイルは別のスタイルをラップし、再実装していないすべての処理をそのスタイルに委譲します。

ベーススタイルを明示的に指定することも、指定しないままにすることもできます。ベーススタイルを明示的に指定すると、完全な制御が可能になり、特定のスタイルの挙動に依存するカスタマイズに適しています。ベーススタイルを指定しない場合、プロキシはアプリケーションスタイルをラップするため、プラットフォームが提供する機能の上にカスタマイズが適用されます。

The QStyle class documentation スピンボックスの矢印を置き換えるプロキシスタイルを示しています。

スタイルの実装

QCommonStyle は、スタイルを完全に実装するための便利な基盤を提供します。これは、サブ要素のレイアウトやサイズの計算など、Qtのすべてのスタイルに共通する挙動を実装し、描画処理はユーザーに委ねます。QCommonStyle を継承し、描画関数に加え、共通のデフォルト値とは異なるピクセルメトリック、サブ要素の矩形、およびスタイルヒントを再実装します。Qtの組み込みスタイルはパブリックAPIの一部ではなく、基底クラスとして使用することはできません。代わりに、QProxyStyle を使用してそれらをラップしてください。

完全なスタイルの実装は複雑な作業です。以下のページでは、スタイル API の仕組み、ペイントイベントからスタイルに至るまでのウィジェットの描画プロセスの追跡、および各ウィジェットが使用する要素、状態、オプションについて解説しています:

ウィジェットが描画する要素はどのスタイルでも同じであるため、スタイル対応のウィジェットやデリゲートを作成する際にも、このリファレンスを利用できます。

ウィジェットのスタイリング用クラス

これらのクラスを使用して、アプリケーションの外観をカスタマイズします。

QColor

RGB、HSV、または CMYK 値に基づく色

QColorSpace

色空間の抽象化

QColorTransform

色空間間の変換

QCommonStyle

GUIの共通的なルック・アンド・フィールをカプセル化

QCursor

任意の形状のマウスカーソル

QFont

テキストの描画に使用されるフォントに対するクエリを指定する

QFontDatabase

基盤となるウィンドウシステムで利用可能なフォントに関する情報

QFontInfo

フォントに関する一般的な情報

QGraphicsAnchor

QGraphicsAnchorLayout 内の 2 つの項目間のアンカーを表す

QGraphicsAnchorLayout

Graphics View内でウィジェットを互いにアンカーできるレイアウト

QPalette

各ウィジェットの状態ごとのカラーグループを含む

QStyle

GUIのルックアンドフィールをカプセル化する抽象基底クラス

QStyleFactory

QStyleオブジェクトを作成します

QStyleHintReturn

基本的なデータ型以上の情報を返すスタイルヒント

QStyleHintReturnMask

QRegionを返すスタイルヒント

QStyleHintReturnVariant

QVariantを返すスタイルヒント

QStyleKitStyle

Qt Labs StyleKit スタイルを以下に適用するQt Widgets

QStyleOption

QStyle関数で使用されるパラメータを格納する

QStylePainter

ウィジェット内に QStyle 要素を描画するための利便性クラス

QStyle 、QProxyStyle 、QCommonStyle 、QStylePainter 、QStyleOption 、および「Qt Widgets のスタイル設定手法」も参照してください 。

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