スタイリング

QStyle QStyle は GUI のルック&フィールをカプセル化する抽象的な基本クラスで、ウィジェットを同等のネイティブ・ウィジェットと全く同じ外観にしたり、ウィジェットにカスタムの外観を与えたりすることができます。

Qt では、Qt がサポートするさまざまなプラットフォームのネイティブな外観をエミュレートするQStyle サブクラスのセットを提供しています (QWindowsStyle、QMacStyle など)。これらのスタイルは、Qt GUI モジュールに組み込まれています。その他のスタイルは、Qt のプラグイン機構を使用して利用できるようにすることができます。

スタイル要素を描画するためのほとんどの関数は、4つの引数を取ります:

  • 描画するグラフィカル要素を指定する列挙値
  • その要素をどこでどのように描画するかを指定するQStyleOption オブジェクト。
  • 要素の描画に使用するQPainter オブジェクト
  • 描画が実行されるQWidget オブジェクト(オプション)

スタイルは、グラフィカル要素を描画するために必要なすべての情報をQStyleOption クラスから取得します。ウィジェットは、スタイルが特殊効果(macOS のデフォルト ボタンのアニメーションなど)を実行するために必要な場合に最後の引数として渡されますが、必須ではありません。実際、QStyle は、(ウィジェットに限らず)あらゆるペイント・デバイスに描画するために使用でき、その場合、ウィジェットの引数はゼロ・ポインタになります。

ペイント・システムは、QPainter を継承したQStylePainter クラスも提供しています。QStylePainter は、ウィジェット内のQStyle 要素を描画するための便利なクラスで、QStyle の API の上に実装された高水準の描画関数のセットでQPainter を拡張しています。QStylePainter を使う利点は、パラメータ・リストがかなり短くなることです。

QIcon

QIcon クラスは、様々なモードと状態でスケーラブルなアイコンを提供します。

QIcon は、アイコンの状態、モード、サイズを反映したピクセルマップを生成できます。これらの pixmap は、アイコンで利用可能な pixmap のセットから生成され、Qt ウィジェットで特定のアクションを表すアイコンを表示するために使用されます。

QIcon オブジェクトのレンダリングは、QIconEngine クラスによって処理されます。各アイコンには対応するアイコンエンジンがあり、要求されたサイズ、モード、状態でアイコンを描画します。

ウィジェットのスタイルと外観の詳細については、スタイルとスタイル・アウェア・ウィジェットを参照してください。

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