スタイリング

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

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

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

©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。