QPalette Class
QPaletteクラスは、各ウィジェットの状態のためのカラーグループを含んでいます。詳細...
Header: | #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 | 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 には、ブラシ、pixmap、プレーン色のいずれかを渡すことができます。
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 で導入されました。
const QBrush &QPalette::alternateBase() const
現在のカラーグループの代替ベースブラシを返します。
ColorRole およびbrush() も参照して ください。
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
現在の色グループのボタンブラシを返します。
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
現在のカラーグループのハイライトテキストブラシを返します。
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
現在の色グループの未訪問リンクテキストブラシを返します。
const QBrush &QPalette::linkVisited() const
現在の色グループの訪問済みリンクテキストブラシを返します。
const QBrush &QPalette::mid() const
現在の色グループの中間色ブラシを返します。
const QBrush &QPalette::midlight() const
現在のカラーグループの中間色ブラシを返します。
const QBrush &QPalette::placeholderText() const
現在のカラーグループのプレースホルダーテキストブラシを返します。
注: Qt 5.12以前では、プレースホルダ・テキスト色は、QPalette::text()としてハードコードされていました。color()では、128のアルファが適用されます。Qt 6では、これは独立した色です。
ColorRole およびbrush()も参照してください 。
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)
指定された色group の色を、指定された色role に使用される、指定されたベタ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 の非アクティブカラーグループを使用します。
const QBrush &QPalette::window() const
現在のカラーグループのウィンドウ(一般背景)ブラシを返します。
const QBrush &QPalette::windowText() const
現在のカラーグループのウィンドウテキスト (一般前景) ブラシを返します。
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-このQPalette インスタンスにother を割り当てる。
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 演算子の書式」も参照して ください。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。