QPalette Class
QPaletteクラスは、各ウィジェットの状態のためのカラーグループを含んでいます。詳細...
ヘッダ | #include <QPalette> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
- 継承メンバを含む全メンバのリスト
- 非推奨メンバー
- QPaletteは暗黙の共有クラスに属しています。
パブリックな型
enum | ColorGroup { Disabled, Active, Inactive, Normal } |
enum | ColorRole { Window, WindowText, Base, AlternateBase, ToolTipBase, …, NoRole } |
パブリック関数
QPalette() | |
QPalette(Qt::GlobalColor button) | |
QPalette(const QColor &button) | |
QPalette(const QColor &button, const QColor &window) | |
QPalette(const QBrush &windowText, const QBrush &button, const QBrush &light, const QBrush &dark, const QBrush &mid, const QBrush &text, const QBrush &bright_text, const QBrush &base, const QBrush &window) | |
QPalette(const QPalette &p) | |
QPalette(QPalette &&other) | |
~QPalette() | |
(since 6.6) const QBrush & | accent() const |
const QBrush & | alternateBase() const |
const QBrush & | base() const |
const QBrush & | brightText() const |
const QBrush & | brush(QPalette::ColorGroup group, QPalette::ColorRole role) const |
const QBrush & | brush(QPalette::ColorRole role) const |
const QBrush & | button() const |
const QBrush & | buttonText() const |
qint64 | cacheKey() const |
const QColor & | color(QPalette::ColorGroup group, QPalette::ColorRole role) const |
const QColor & | color(QPalette::ColorRole role) const |
QPalette::ColorGroup | currentColorGroup() const |
const QBrush & | dark() const |
const QBrush & | highlight() const |
const QBrush & | highlightedText() const |
bool | isBrushSet(QPalette::ColorGroup cg, QPalette::ColorRole cr) const |
bool | isCopyOf(const QPalette &p) const |
bool | isEqual(QPalette::ColorGroup cg1, QPalette::ColorGroup cg2) const |
const QBrush & | light() const |
const QBrush & | link() const |
const QBrush & | linkVisited() const |
const QBrush & | mid() const |
const QBrush & | midlight() const |
const QBrush & | placeholderText() const |
QPalette | resolve(const QPalette &other) const |
void | setBrush(QPalette::ColorRole role, const QBrush &brush) |
void | setBrush(QPalette::ColorGroup group, QPalette::ColorRole role, const QBrush &brush) |
void | setColor(QPalette::ColorGroup group, QPalette::ColorRole role, const QColor &color) |
void | setColor(QPalette::ColorRole role, const QColor &color) |
void | setColorGroup(QPalette::ColorGroup cg, const QBrush &windowText, const QBrush &button, const QBrush &light, const QBrush &dark, const QBrush &mid, const QBrush &text, const QBrush &bright_text, const QBrush &base, const QBrush &window) |
void | setCurrentColorGroup(QPalette::ColorGroup cg) |
const QBrush & | shadow() const |
void | swap(QPalette &other) |
const QBrush & | text() const |
const QBrush & | toolTipBase() const |
const QBrush & | toolTipText() const |
const QBrush & | window() const |
const QBrush & | windowText() const |
QVariant | operator QVariant() const |
bool | operator!=(const QPalette &p) const |
QPalette & | operator=(QPalette &&other) |
QPalette & | operator=(const QPalette &p) |
(since 6.6) bool | operator==(const QPalette &p) const |
関連する非メンバー
QDataStream & | operator<<(QDataStream &s, const QPalette &p) |
QDataStream & | operator>>(QDataStream &s, QPalette &p) |
詳細説明
パレットは3つのカラーグループで構成されます:アクティブ、無効、非アクティブです。Qt のすべてのウィジェットはパレットを持ち、パレットを使って描画します。これにより、ユーザーインターフェイスを簡単に設定でき、一貫性を保ちやすくなります。
新しいウィジェットを作成する場合は、特定の色をハードコーディングするのではなく、パレットの色を使用することを強くお勧めします。
カラーグループ
- Activeグループは、キーボード・フォーカスを持つウィンドウに使用されます。
- 非アクティブ]グループは、他のウィンドウに使用されます。
- Disabledグループは、何らかの理由で無効になっているウィジェット(ウィンドウではない)に使用します。
アクティブウィンドウと非アクティブウィンドウの両方に、無効化されたウィジェットを含めることができます。(無効にされたウィジェットは、しばしばアクセス不能またはグレーアウトと呼ばれます)。
ほとんどのスタイルでは、アクティブと非アクティブは同じように見えます。
色とブラシは、setColor ()とsetBrush ()を使用して、パレットのカラーグループのいずれかの特定の役割に設定することができます。カラーグループには、ウィジェットが描画に使用する色のグループが含まれます。ウィジェットでは、"red "や "turquoise "といった文字通りの色ではなく、"foreground "や "base "といったパレットのカラーグループのロールを使用することをお勧めします。色の役割は、ColorRole のドキュメントに列挙され、定義されています。
現在のスタイルのデフォルトパレット(QGuiApplication::palette()によって返される)を使用し、必要に応じて変更することを強くお勧めします。これは、Qtのウィジェットが描画されるときに行われます。
カラーグループを変更するには、setColor() とsetBrush() 関数を呼び出します。これは、純粋なカラーにするか、ピクセルマップパターンにするかによって異なります。
また、対応するcolor() とbrush() のゲッターや、現在のColorGroup のColorRole を取得するためによく使われる便利な関数もあります :window(),windowText(),base() など。
コピーコンストラクタを使用してパレットをコピーし、isCopyOf() を使用して2つのパレットが同一であるかどうかをテストすることができます。
QPaletteは暗黙の共有によって最適化されているので、QPaletteオブジェクトを引数として渡すと非常に効率的です。
警告 例えば、ネイティブのテーマエンジンを使用している場合などです。Windows VistaとmacOSの両方のスタイルがそうです。
QApplication::setPalette(),QWidget::setPalette(),QColorも参照のこと 。
メンバー型ドキュメント
enum QPalette::ColorGroup
定数 | 値 | 説明 |
---|---|---|
QPalette::Disabled | 1 | |
QPalette::Active | 0 | |
QPalette::Inactive | 2 | |
QPalette::Normal | Active | アクティブの同義語 |
enum QPalette::ColorRole
ColorRole列挙型は、現在のGUIで使用されているさまざまなシンボルカラーの役割を定義します。
中心的な役割は
定数 | 値 | 説明 |
---|---|---|
QPalette::Window | 10 | 一般的な背景色 |
QPalette::WindowText | 0 | 一般的な前景色。 |
QPalette::Base | 9 | 主にテキスト入力ウィジェットの背景色として使用されますが、コンボボックスドロップダウンリストやツールバーハンドルの背景など、他のペイントにも使用できます。通常は白または他の明るい色です。 |
QPalette::AlternateBase | 16 | 行の色が交互に表示されるビューの代替背景色として使用されます (QAbstractItemView::setAlternatingRowColors() を参照)。 |
QPalette::ToolTipBase | 18 | QToolTip とQWhatsThis の背景色として使用されます。ツールチップはアクティブウィンドウではないため、ツールチップはQPalette の非アクティブカラーグループを使用します。 |
QPalette::ToolTipText | 19 | QToolTip とQWhatsThis の前景色 と し て使用。ツールチップはアクティブウィンドウではないため、ツールチップはQPalette の非アクティブカラーグループを使用します。 |
QPalette::PlaceholderText | 20 | 様々なテキスト入力ウィジェットのプレースホルダーの色として使用されます。この列挙値は Qt 5.12 で導入されました。 |
QPalette::Text | 6 | Base で使われる前景色。これは通常、WindowText と同じです。この場合、Window やBase と良いコントラストを与えなければなりません。 |
QPalette::Button | 1 | 一般的なボタン背景色。こ の背景色はWindow と 異な る こ と も あ り ます。 |
QPalette::ButtonText | 8 | 前景色Button と併用される色。 |
QPalette::BrightText | 7 | テ キ ス ト 色。WindowText と は異な り 、Dark 等 と は対照的です。通常、押されたプッシュボタンなど、Text やWindowText ではコントラストが悪くなるような場所に描画する必要があるテキストに使われます。テ キ ス ト カ ラ ーは単語以外に も 使え る こ と に留意 し て く だ さ い。 テ キ ス ト カ ラ ーは通常テ キ ス ト に用い ら れますが、 テ キ ス ト カ ラ ーの役割を線やア イ コ ンな ど に使 う こ と も よ く あ り ます。 |
主に3Dベベルやシャドウ効果に使われる色の役割もあります。これらはすべて通常、Window
から派生し、その関係に依存した方法で使用されます。例えば、ボタンはベベルを魅力的に見せるためにこれに依存し、 MotifのスクロールバーはMid
に依存してWindow
と若干異なります。
定数 | 値 | 説明 |
---|---|---|
QPalette::Light | 2 | Button より明るい色。 |
QPalette::Midlight | 3 | Button とLight の間。 |
QPalette::Dark | 4 | Button より暗い。 |
QPalette::Mid | 5 | Button とDark の間。 |
QPalette::Shadow | 11 | 非常に暗い色。デフォルトでは、影の色はQt::black です。 |
選択された(マークされた)項目には2つの役割があります:
定数 | 値 | 説明 |
---|---|---|
QPalette::Highlight | 12 | 選択された項目または現在の項目を示す色。デフォルトでは、ハイライト色はQt::darkBlue です。 |
QPalette::Accent (since Qt 6.6) | 21 | 通常、ベース、ウィンドウ、ボタンの色と対照的または補完する色です。こ れは通常、 ユーザーが選ぶデス ク ト ッ プのパーソナライゼーシ ョ ン を表 し ます。インタラクティブ・コンポーネントのスタイリングが典型的な使用例です。明示的に設定されない限り、デフォルトは Highlight です。 |
QPalette::HighlightedText | 13 | Highlight と対照的なテキスト色です。デフ ォル ト では、 ハイ ラ イ ト テ キ ス ト 色はQt::white です。 |
ハイパーリンクに関連する色の役割は2つあります:
定数 | 値 | 説明 |
---|---|---|
QPalette::Link | 14 | 未訪問のハイパーリンクに使われるテキスト色。デフォルトでは、リンクの色はQt::blue です。 |
QPalette::LinkVisited | 15 | 既に訪問済みのハイパーリンクに使われるテキスト色。デフ ォル ト では、 linkvisited カ ラ ーはQt::magenta です。 |
Qt でリッチテキストをレンダリングする場合、Link
とLinkVisited
の役割は使用しません。リンクの外観を変更するには、CSS とQTextDocument::setDefaultStyleSheet() 関数を使用することをお勧めします。例えば
QTextBrowser browser; QColor linkColor(Qt::red); QString sheet = QString::fromLatin1("a { text-decoration: underline; color: %1 }").arg(linkColor.name()); browser.document()->setDefaultStyleSheet(sheet);
定数 | 値 | 説明 |
---|---|---|
QPalette::NoRole | 17 | この特別なロールは、ロールが割り当てられていないことを示すためによく使用されます。 |
メンバー関数ドキュメント
QPalette::QPalette()
色のロールが設定されていない空のパレットオブジェクトを構築します。
QWidget のパレットとして使用される場合、色はQWidget::setPalette() の説明に従って解決されます。
QApplication::setPalette() およびQApplication::palette()も参照 。
QPalette::QPalette(Qt::GlobalColor button)
button の色からパレットを構築する。他の色はこの色を元に自動的に計算されます。Window
はボタンの色にもなります。
QPalette::QPalette(const QColor &button)
button の色からパレットを構築する。他の色はこの色を元に自動的に計算されます。Window
はボタンの色にもなります。
QPalette::QPalette(const QColor &button, const QColor &window)
button 色とwindow からパレットを構築します。 他の色は、これらの色に基づいて自動的に計算されます。
QPalette::QPalette(const QBrush &windowText, const QBrush &button, const QBrush &light, const QBrush &dark, const QBrush &mid, const QBrush &text, const QBrush &bright_text, const QBrush &base, const QBrush &window)
パレットを構築します。windowText,button,light,dark,mid,text,bright_text,base,window のブラシ、 ピ ク ス マ ッ プ、 プ レーン カ ラ ーのいずれかを渡す こ と がで き ます。
QBrushも参照。
QPalette::QPalette(const QPalette &p)
p のコピーを構築する。
このコンストラクタは暗黙の共有のおかげで高速です。
[noexcept]
QPalette::QPalette(QPalette &&other)
Move-QPaletteインスタンスを構築し、other が指していたのと同じオブジェクトを指すようにする。
移動された後は、other に代入するか、破棄することしかできません。それ以外の操作は未定義の動作になります。
[noexcept]
QPalette::~QPalette()
パレットを破壊する。
[since 6.6]
const QBrush &QPalette::accent() const
現在のカラーグループのアクセントブラシを返します。
この関数は Qt 6.6 で導入されました。
ColorRole およびbrush()も参照してください 。
const QBrush &QPalette::alternateBase() const
現在の色グループの代替ベースブラシを返します。
const QBrush &QPalette::base() const
現在の色グループのベースブラシを返します。
const QBrush &QPalette::brightText() const
カ レ ン ト 色グループの明るいテ キ ス ト 前景ブラ シを返 し ます。
const QBrush &QPalette::brush(QPalette::ColorGroup group, QPalette::ColorRole role) const
指定 さ れた色role に対 し て用い ら れ る 、 指定 さ れた色group のブラシを返 し ます。
color(),setBrush(),ColorRoleも参照 。
const QBrush &QPalette::brush(QPalette::ColorRole role) const
これはオーバーロードされた関数です。
現在のColorGroup で、与えられた色role に設定されているブラシを返します。
color(),setBrush(),ColorRoleも参照 。
const QBrush &QPalette::button() const
現在の色グループのボタンブラシを返します。
ColorRole およびbrush()も参照して ください。
const QBrush &QPalette::buttonText() const
現在の色グループのボタンテキスト前景ブラシを返します。
ColorRole およびbrush()も参照して ください。
qint64 QPalette::cacheKey() const
このQPalette オブジェクトのコンテンツを識別する番号を返します。異なるQPalette オブジェクトが同じコンテンツを参照する場合、同じキーを持つことができます。
cacheKey() は、パレットが変更されると変更されます。
const QColor &QPalette::color(QPalette::ColorGroup group, QPalette::ColorRole role) const
指定された色role に使用される、指定された色group の色を返します。
brush(),setColor(),ColorRoleも参照 。
const QColor &QPalette::color(QPalette::ColorRole role) const
これはオーバーロードされた関数です。
現在のColorGroup で、与えられた色role に設定されている色を返します。
QPalette::ColorGroup QPalette::currentColorGroup() const
パレットの現在のカラーグループを返します。
setCurrentColorGroup()も参照 。
const QBrush &QPalette::dark() const
現在の色グループのダークブラシを返します。
const QBrush &QPalette::highlight() const
現在の色グループのハイライトブラシを返します。
const QBrush &QPalette::highlightedText() const
カ レ ン ト 色グループの強調テキス ト ブラシを返 し ます。
ColorRole およびbrush()も参照して ください。
bool QPalette::isBrushSet(QPalette::ColorGroup cg, QPalette::ColorRole cr) const
ColorGroup cg およびColorRole cr がこのパレットで以前に設定されている場合はtrue
を返し、そうでない場合はfalse
を返します。
ColorGroup cg はQPalette::NColorGroups より小さくなければならないが、QPalette::Current を使うこともできる。こ の場合、 前に設定 さ れてい る カ レ ン ト 色グループが使われます。
ColorRole cr はQPalette::NColorRoles よりも小さい必要があります。
setBrush() およびcurrentColorGroup()も参照 。
bool QPalette::isCopyOf(const QPalette &p) const
このパレットとp が互いのコピーである場合、つまりどちらかがもう一方のコピーとして作成され、その後どちらも変更されていない場合はtrue
を返し、そうでない場合はfalse
を返す。これは等価よりもはるかに厳格です。
operator=() およびoperator==()も参照して ください。
bool QPalette::isEqual(QPalette::ColorGroup cg1, QPalette::ColorGroup cg2) const
色グループcg1 がcg2 と等 し ければtrue
を (たいていは素早 く )返 し 、 そ う でなければfalse
を返す。
const QBrush &QPalette::light() const
現在のカラーグループのライトブラシを返します。
const QBrush &QPalette::link() const
現在の色グループの未訪問リンクテキストブラシを返す。
ColorRole およびbrush()も参照して ください。
const QBrush &QPalette::linkVisited() const
現在の色グループの訪問済みリンクテキストブラシを返します。
ColorRole およびbrush()も参照して ください。
const QBrush &QPalette::mid() const
現在の色グループの中間ブラシを返します。
const QBrush &QPalette::midlight() const
現在の色グループの中間色ブラシを返します。
const QBrush &QPalette::placeholderText() const
現在のカラーグループのプレースホルダーテキストブラシを返します。
注意: Qt 5.12以前では、プレースホルダテキストの色は、QPalette::text().color() としてハードコードされ、128のアルファが適用されていました。Qt 6では、これは独立した色です。
QPalette QPalette::resolve(const QPalette &other) const
このインスタンスとother の結合である新しいQPalette を返す。このインスタンスに設定されている色の役割が優先されます。このインスタンスに設定されていないロールは、other から取得されます。
isBrushSetも参照してください 。
void QPalette::setBrush(QPalette::ColorRole role, const QBrush &brush)
与えられた色role のブラシを、パレット内のすべてのグループに対して、指定されたbrush に設定します。
brush(),setColor(),ColorRoleも参照 。
void QPalette::setBrush(QPalette::ColorGroup group, QPalette::ColorRole role, const QBrush &brush)
これはオーバーロードされた関数です。
指定された色role に使用される指定された色group のブラシをbrush に設定します。
brush(),setColor(),ColorRoleも参照 。
void QPalette::setColor(QPalette::ColorGroup group, QPalette::ColorRole role, const QColor &color)
指定された色role に使われる指定された色group の色を、指定されたベタcolor に設定します。
setBrush(),color(),ColorRoleも参照 。
void QPalette::setColor(QPalette::ColorRole role, const QColor &color)
これはオーバーロードされた関数です。
すべての色グループにおいて、与えられた色role に使用される色を、指定されたベタcolor に設定します。
brush(),setColor(),ColorRoleも参照 。
void QPalette::setColorGroup(QPalette::ColorGroup cg, const QBrush &windowText, const QBrush &button, const QBrush &light, const QBrush &dark, const QBrush &mid, const QBrush &text, const QBrush &bright_text, const QBrush &base, const QBrush &window)
cg にグループを設定します。windowText,button,light,dark,mid,text,bright_text,base およびwindow には、ブラシ、ピクセルマップ、またはプレーンな色を渡すことができます。
QBrushも参照してください 。
void QPalette::setCurrentColorGroup(QPalette::ColorGroup cg)
パレットの現在のカラーグループをcg に設定する。
currentColorGroup()も参照 。
const QBrush &QPalette::shadow() const
現在の色グループの影ブラシを返します。
[noexcept]
void QPalette::swap(QPalette &other)
このパレットインスタンスをother と交換する。この操作は非常に高速で、失敗することはありません。
const QBrush &QPalette::text() const
カ レ ン ト 色グループのテ キ ス ト 前景ブラ シを返 し ます。
const QBrush &QPalette::toolTipBase() const
現在のカラーグループのツールチップベースブラシを返します。このブラシはQToolTip とQWhatsThis で使用されます。
注記: ツールチップはアクティブウィンドウではないため、ツールチップはQPalette の非アクティブカラーグループを使用します。
const QBrush &QPalette::toolTipText() const
現在の色グループのツールチップテキストブラシを返します。このブラシはQToolTip とQWhatsThis で使用されます。
注記: ツールチップはアクティブウィンドウではないため、ツールチップはQPalette の非アクティブカラーグループを使用します。
ColorRole およびbrush()も参照して ください。
const QBrush &QPalette::window() const
現在の色グループのウィンドウ(一般背景)ブラシを返す。
ColorRole およびbrush()も参照して ください。
const QBrush &QPalette::windowText() const
カ レ ン ト 色グループの ウ ィ ン ド ウ テ キ ス ト (前景色全般) ブラシを返 し ます。
ColorRole およびbrush()も参照して ください。
QVariant QPalette::operator QVariant() const
パレットをQVariant
bool QPalette::operator!=(const QPalette &p) const
このパレットがp と異なる場合はtrue
を (ゆっくり) 返します; そうでない場合はfalse
を (通常は素早く) 返します。
注意: パレットを比較する際、現在のColorGroup は考慮されない。
operator==()も参照 。
[noexcept]
QPalette &QPalette::operator=(QPalette &&other)
Move-other をこのQPalette インスタンスに割り当てる。
QPalette &QPalette::operator=(const QPalette &p)
p をこのパレットに割り当て、このパレットへの参照を返します。
この操作は暗黙の共有のおかげで高速です。
[since 6.6]
bool QPalette::operator==(const QPalette &p) const
このパレットがp と等しい場合はtrue
を(通常は素早く)返し、 そうでない場合はfalse
を(ゆっくりと)返す。
注意: パレットを比較する際、以下は考慮されません:
current
ColorGroup- ColorRole NoRole
この関数は Qt 6.6 で導入されました。
operator!=()も参照してください 。
関連する非会員
QDataStream &operator<<(QDataStream &s, const QPalette &p)
パレット、p をストリームs に書き込み、ストリームへの参照を返します。
QDataStream 演算子のフォーマットも参照してください 。
QDataStream &operator>>(QDataStream &s, QPalette &p)
ストリームからパレットを読み込み、s パレットにp 、ストリームへの参照を返します。
QDataStream演算子のフォーマットも参照してください 。
© 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.