スタイル設定
Qtの組み込みウィジェットは、描画処理のほぼすべてをQStyle クラスを使用して行います。QStyle は、GUIのルックアンドフィールをカプセル化した抽象基底クラスであり、これを使用することで、ウィジェットを対応するネイティブウィジェットと全く同じ外観にしたり、ウィジェットに独自の外観を与えたりすることができます。
Qt XMLは、サポートする各プラットフォームのネイティブ外観に合致する一連のQStyle の実装を提供しています。windows およびfusion スタイルはQt Widgets モジュールに組み込まれており、windows11 やmacos などのプラットフォーム固有のスタイルはプラグインとして読み込まれます。QStyleFactory には、実行時に利用可能なスタイルが一覧表示されています。アプリケーションは、リンクまたはプラグインとして、独自のスタイルを提供することもできます。
スタイル要素を描画するための関数のほとんどは、4つの引数を取ります:
- 描画するグラフィカル要素を指定する列挙型値
- その要素をどのように、どこにレンダリングするかを指定する `QStyleOption ` オブジェクト
- 要素の描画に使用するQPainter オブジェクト
- 描画が行われるQWidget オブジェクト(オプション)
スタイルは、グラフィカル要素をレンダリングするために必要なすべての情報をQStyleOption クラスから取得します。 スタイルが特殊効果(macOS でのアニメーション付きデフォルトボタンなど)を実行するためにウィジェットを必要とする場合に備えて、ウィジェットは最後の引数として渡されますが、これは必須ではありません。実際、`QStyle ` を使用すれば、ウィジェットに限らず任意のペイントデバイス上に描画を行うことが可能であり、その場合はウィジェット引数はゼロポインタとなります。

ペイントシステムでは、QPainter を継承するQStylePainter クラスも提供されています。QStylePainter は、ウィジェット内部にQStyle 要素を描画するための利便性向上のためのクラスであり、QStyle のAPI上に実装された一連の高レベルな描画関数を備えてQPainter を拡張しています。QStylePainter を使用する利点は、パラメータリストがかなり短くなることです。
| QIcon QIcon クラスは、さまざまなモードや状態に対応したスケーラブルなアイコンを提供します。 QIcon は、アイコンの状態、モード、サイズを反映したピクマップを生成できます。これらのピクマップは、アイコンで利用可能なピクマップのセットから生成され、Qt Widgets が特定のアクションを表すアイコンを表示するために使用されます。 QIcon オブジェクトのレンダリングは、QIconEngine クラスによって処理されます。各アイコンには対応するアイコンエンジンがあり、要求されたサイズ、モード、状態に基づいてアイコンを描画する役割を担っています。 |
ウィジェットのスタイル設定や外観に関する詳細については、「スタイルおよびスタイル対応ウィジェット」および「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.