QColor Class
QColor クラスは、RGB、HSV、または CMYK の値に基づいた色を提供します。詳細...
| ヘッダー: | #include <QColor> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
- 継承されたメンバーを含む、すべてのメンバーの一覧
- 非推奨のメンバー
- QColorはペイントクラスの一部です。
パブリック型
| enum | NameFormat { HexRgb, HexArgb } |
| enum | Spec { Rgb, Hsv, Cmyk, Hsl, ExtendedRgb, Invalid } |
パブリック関数
| QColor() | |
| QColor(QRgb color) | |
| QColor(QRgba64 rgba64) | |
| QColor(const QString &name) | |
| QColor(int r, int g, int b, int a = 255) | |
| QColor(QLatin1StringView name) | |
| QColor(Qt::GlobalColor color) | |
| QColor(const char *name) | |
| int | alpha() const |
| float | alphaF() const |
| int | black() const |
| float | blackF() const |
| int | blue() const |
| float | blueF() const |
| QColor | convertTo(QColor::Spec colorSpec) const |
| int | cyan() const |
| float | cyanF() const |
| QColor | darker(int factor = 200) const |
| void | getCmyk(int *c, int *m, int *y, int *k, int *a = nullptr) const |
| void | getCmykF(float *c, float *m, float *y, float *k, float *a = nullptr) const |
| void | getHsl(int *h, int *s, int *l, int *a = nullptr) const |
| void | getHslF(float *h, float *s, float *l, float *a = nullptr) const |
| void | getHsv(int *h, int *s, int *v, int *a = nullptr) const |
| void | getHsvF(float *h, float *s, float *v, float *a = nullptr) const |
| void | getRgb(int *r, int *g, int *b, int *a = nullptr) const |
| void | getRgbF(float *r, float *g, float *b, float *a = nullptr) const |
| int | green() const |
| float | greenF() const |
| int | hslHue() const |
| float | hslHueF() const |
| int | hslSaturation() const |
| float | hslSaturationF() const |
| int | hsvHue() const |
| float | hsvHueF() const |
| int | hsvSaturation() const |
| float | hsvSaturationF() const |
| int | hue() const |
| float | hueF() const |
| bool | isValid() const |
| QColor | lighter(int factor = 150) const |
| int | lightness() const |
| float | lightnessF() const |
| int | magenta() const |
| float | magentaF() const |
| QString | name(QColor::NameFormat format = HexRgb) const |
| int | red() const |
| float | redF() const |
| QRgb | rgb() const |
| QRgba64 | rgba64() const |
| QRgb | rgba() const |
| int | saturation() const |
| float | saturationF() const |
| void | setAlpha(int alpha) |
| void | setAlphaF(float alpha) |
| void | setBlue(int blue) |
| void | setBlueF(float blue) |
| void | setCmyk(int c, int m, int y, int k, int a = 255) |
| void | setCmykF(float c, float m, float y, float k, float a = 1.0) |
| void | setGreen(int green) |
| void | setGreenF(float green) |
| void | setHsl(int h, int s, int l, int a = 255) |
| void | setHslF(float h, float s, float l, float a = 1.0) |
| void | setHsv(int h, int s, int v, int a = 255) |
| void | setHsvF(float h, float s, float v, float a = 1.0) |
| void | setRed(int red) |
| void | setRedF(float red) |
| void | setRgb(int r, int g, int b, int a = 255) |
| void | setRgb(QRgb rgb) |
| void | setRgba64(QRgba64 rgba) |
| void | setRgbF(float r, float g, float b, float a = 1.0) |
| void | setRgba(QRgb rgba) |
| QColor::Spec | spec() const |
| QColor | toCmyk() const |
| QColor | toExtendedRgb() const |
| QColor | toHsl() const |
| QColor | toHsv() const |
| QColor | toRgb() const |
| int | value() const |
| float | valueF() const |
| int | yellow() const |
| float | yellowF() const |
| operator QVariant() const | |
| bool | operator!=(const QColor &color) const |
| QColor & | operator=(Qt::GlobalColor color) |
| bool | operator==(const QColor &color) const |
静的パブリックメンバー
| QStringList | colorNames() |
| QColor | fromCmyk(int c, int m, int y, int k, int a = 255) |
| QColor | fromCmykF(float c, float m, float y, float k, float a = 1.0) |
| QColor | fromHsl(int h, int s, int l, int a = 255) |
| QColor | fromHslF(float h, float s, float l, float a = 1.0) |
| QColor | fromHsv(int h, int s, int v, int a = 255) |
| QColor | fromHsvF(float h, float s, float v, float a = 1.0) |
| QColor | fromRgb(QRgb rgb) |
| QColor | fromRgb(int r, int g, int b, int a = 255) |
| QColor | fromRgba64(QRgba64 rgba64) |
| QColor | fromRgba64(ushort r, ushort g, ushort b, ushort a = USHRT_MAX) |
| QColor | fromRgbF(float r, float g, float b, float a = 1.0) |
| QColor | fromRgba(QRgb rgba) |
(since 6.4) QColor | fromString(QAnyStringView name) |
(since 6.4) bool | isValidColorName(QAnyStringView name) |
関連する非メンバー
| QRgb | |
| int | qAlpha(QRgb rgba) |
| uint | qAlpha(QRgba64 rgba64) |
| int | qBlue(QRgb rgb) |
| uint | qBlue(QRgba64 rgba64) |
| int | qGray(int r, int g, int b) |
| int | qGray(QRgb rgb) |
| int | qGreen(QRgb rgb) |
| uint | qGreen(QRgba64 rgba64) |
| QRgb | qPremultiply(QRgb rgb) |
| QRgba64 | qPremultiply(QRgba64 rgba64) |
| int | qRed(QRgb rgb) |
| uint | qRed(QRgba64 rgba64) |
| QRgb | qRgb(int r, int g, int b) |
| QRgba64 | qRgba64(quint64 c) |
| QRgba64 | qRgba64(quint16 r, quint16 g, quint16 b, quint16 a) |
| QRgb | qRgba(int r, int g, int b, int a) |
| QRgb | qUnpremultiply(QRgb rgb) |
| QRgba64 | qUnpremultiply(QRgba64 rgba64) |
| QDataStream & | operator<<(QDataStream &stream, const QColor &color) |
| QDataStream & | operator>>(QDataStream &stream, QColor &color) |
詳細な説明
色は通常、RGB(赤、緑、青)成分で指定されますが、HSV(色相、彩度、明度)やCMYK(シアン、マゼンタ、イエロー、ブラック)成分で指定することも可能です。さらに、色名は色名を使用して指定することもできます。 色名は、SVG 1.0 の色名のいずれかを使用できます。
| RGB | HSV | CMYK |
|---|---|---|
![]() | ![]() | ![]() |
QColorコンストラクタは、RGB値に基づいて色を作成します。HSVまたはCMYK値に基づいてQColorを作成するには、それぞれtoHsv()関数およびtoCmyk()関数を使用します。これらの関数は、指定された形式の色のコピーを返します。さらに、静的関数fromRgb()、fromHsv()、およびfromCmyk()は、指定された値から色を作成します。 あるいは、convertTo() 関数(指定された形式の色を返す)や、setRgb()、setHsv()、setCmyk() 関数のいずれかを使用して、色をこれら3つの形式のいずれかに変換することも可能です。spec() 関数は、色がどのように指定されたかを示します。
色は、RGB文字列(例: "#112233")、ARGB文字列(例: "#ff112233")、または色名(例: "blue")をfromString()関数に渡すことで設定できます。 色名はSVG 1.0の色名に基づいています。name()関数は、色を「#RRGGBB」という形式で返します。また、setRgb()、setHsv()、setCmyk()を使用して色を設定することもできます。より明るい色や暗い色を取得するには、それぞれlighter()およびdarker()関数を使用します。
isValid() 関数は、QColor が有効かどうかを示します。たとえば、RGB 値が範囲外である RGB 色は無効です。パフォーマンス上の理由から、QColor は無効な色をほとんど無視するため、無効な色を使用した場合の結果は未定義となります。
色の各成分は、red()、hue()、cyan() などを使用して個別に取得できます。また、getRgb()、getHsv()、getCmyk() 関数を使用すると、色の各成分の値を一度に取得することもできます。RGB カラーモデルを使用する場合、rgb() を使用して色の各成分にアクセスすることも可能です。
関連する非メンバー変数がいくつかあります。QRgb は、RGB値の3つ組 (r, g, b) を表す unsigned int 型の typedef です。これはアルファチャンネルの値も保持できる点に注意してください(詳細については、「Alpha-Blended Drawing 」のセクションを参照してください)。qRed()、qBlue()、およびqGreen() 関数は、指定されたQRgb 値のそれぞれの成分を返します。一方、qRgb() およびqRgba() 関数は、指定された成分値に基づいてQRgb の3要素を作成して返します。最後に、qAlpha() 関数は、指定されたQRgb のアルファ成分を返し、qGray() 関数は、指定された値に基づいてグレー値を計算して返します。
QColorはプラットフォームおよびデバイスに依存しません。
ペイントに関する一般的な詳細については、ペイントシステムのドキュメントを参照してください。
整数と浮動小数点精度
QColor は浮動小数点精度をサポートしており、getRgbF()、hueF()、fromCmykF() など、すべての色成分関数の浮動小数点版を提供しています。 コンポーネントは 16 ビット整数で格納されるため、例えばsetRgbF() を使用して設定した値と、getRgbF() 関数が返す値との間には、丸め誤差によるわずかなずれが生じる可能性があることに注意してください。
整数ベースの関数は 0~255 の範囲の値を受け取りますが(hue() は 0~359 の範囲の値でなければならない点を除く)、浮動小数点関数は 0.0~1.0 の範囲の値を受け付けます。
アルファブレンディングによる描画
QColorは、アルファブレンドによるアウトラインや塗りつぶしもサポートしています。色のアルファチャンネルは透明度を指定し、0は完全に透明な色、255は完全に不透明な色を表します。例:
// Specify semi-transparent red
painter.setBrush(QColor(255, 0, 0, 127));
painter.drawRect(0, 0, width() / 2, height());
// Specify semi-transparent blue
painter.setBrush(QColor(0, 0, 255, 127));
painter.drawRect(0, 0, width(), height() / 2);上記のコードを実行すると、次のような出力が得られます:

色のアルファチャンネルは、その値が整数の場合はalpha()およびsetAlpha()関数を使用して、値が浮動小数点数の場合はalphaF()およびsetAlphaF()関数を使用して取得および設定できます。デフォルトでは、アルファチャンネルは255(不透明)に設定されています。 RGB カラーのすべての成分(アルファチャンネルを含む)を一度に取得および設定するには、rgba() およびsetRgba() 関数を使用します。
定義済み色
QColorConstants 名前空間には、黒、白、原色および二次色、それらの暗い色、3つのグレーの濃淡を含む、20個の定義済みQColorオブジェクトがあります。さらに、QColorConstants::Svg 名前空間では、標準のSVGカラーキーワード名に対応するQColorオブジェクトが定義されています。

QColorConstants::Color0 、QColorConstants::Color1 、およびQColorConstants::Transparent の色は、特別な目的で使用されます。
QColorConstants::Color0 (ピクセル値が 0) およびQColorConstants::Color1 (ピクセル値が 0 以外) は、QBitmap での描画に用いられる特殊な色です。QColorConstants::Color0 を使用して描画すると、ビットマップのビットは 0 (透明、つまり背景) に設定され、c{QColorConstants::Color1} を使用して描画すると、ビットは 1 (不透明、つまり前景) に設定されます。
QColorConstants::Transparent は、透明なピクセルを示すために使用されます。この値で描画する場合、使用中の基になるピクセル形式に適したピクセル値が使用されます。
歴史的な理由から、20 個の定義済み色もQt::GlobalColor 列挙型で利用可能です。
最後に、QColor はさまざまな色名(文字列として)を認識します。静的関数colorNames() は、QColor が認識する色名をQStringList として返します。
拡張 RGB カラーモデル
拡張 RGB カラーモデルは、scRGB 色空間とも呼ばれ、0.0 未満および 1.0 を超える値を許容するという点を除いて、RGB カラーモデルと同じです。これにより、RGB 色空間の範囲外となる色も表現できるようになりますが、RGB 色空間内の色については、引き続き同じ値を使用します。
HSVカラーモデル
RGBモデルはハードウェア志向です。その表現は、ほとんどのモニターに表示される色に近いです。 対照的に、HSVは人間の色の知覚により適した方法で色を表現します。例えば、「より強い」「より暗い」「反対色」といった関係は、HSVでは容易に表現できますが、RGBでは表現するのがはるかに困難です。
HSVはRGBと同様に、3つの構成要素から成ります:
- H(色相)は、色が有彩色(灰色以外)の場合は0から359の範囲にあり、灰色の場合は意味を持ちません。これは、多くの人にとって馴染みのあるカラーホイール上の角度を表します。赤は0度、緑は120度、青は240度です。

- S(彩度)は0から255の範囲にあり、値が大きいほど色の鮮やかさが増します。灰色がかった色は彩度が0近く、非常に鮮やかな色は彩度が255近くになります。

- V(明度)は0から255の範囲であり、色の明るさを表します。0は黒、255は黒から可能な限り遠い色です。

以下にいくつかの例を示します。純赤は H=0、S=255、V=255 です。マゼンタ方向にわずかに寄った濃い赤は、H=350(-10に相当)、S=255、V=180 となるでしょう。 灰色がかった明るい赤は、Hが約0(例えば350~359または0~10)、Sが約50~100、V=255となる場合があります。
Qtは、無彩色に対して色相値を-1として返します。色相値が大きすぎる値を渡した場合、Qtはそれを範囲内に収めるように処理します。色相360または720は0として扱われ、色相540は180として扱われます。
標準的なHSVモデルに加え、Qtはalpha-blended drawing を表現するためのアルファチャンネルを提供しています。
HSL カラーモデル
HSLはHSVと似ていますが、Valueパラメータの代わりに、HSLではLightnessパラメータを指定し、これは色の明るさに対して多少異なる対応関係を持ちます。
同様に、同じ色であっても、HSL の彩度値は一般的に HSV の彩度値とは異なります。hslSaturation() は色の HSL 彩度値を返し、saturation() およびhsvSaturation() は HSV 彩度値を返します。
色相の値は、HSLとHSVで同じと定義されています。
CMYK カラーモデル
RGB および HSV カラーモデルはコンピュータのモニターでの表示に使用されますが、CMYK モデルは印刷機や一部のハードコピーデバイスにおける 4 色印刷プロセスで使用されます。
CMYK には、シアン (C)、マゼンタ (M)、イエロー (Y)、ブラック (K) の 4 つの成分があり、いずれも 0 から 255 の範囲です。 シアン、マゼンタ、イエローは減法混色と呼ばれます。CMYK カラーモデルは、白い面を基調とし、適切な成分を適用して色を差し引くことで色を作り出します。シアン、マゼンタ、イエローを組み合わせると黒になりますが、これらを 1 つ以上差し引くと、他のあらゆる色を作り出すことができます。 これら3色をさまざまな割合で組み合わせることで、あらゆる色のスペクトルを作り出すことができます。
シアン、マゼンタ、イエローを100%ずつ混ぜ合わせると確かに黒になりますが、インクの無駄になり、乾燥時間が長くなり、印刷時に色がくすんでしまうため、この方法は望ましくありません。そのため、プロフェッショナルな印刷では、濃い黒色を実現するために黒が追加されます。これが「4色刷り」と呼ばれる所以です。
標準的な CMYK モデルに加え、Qt はアルファチャンネルを提供し、alpha-blended drawing を実現しています。
関連項目: QPalette 、QBrush 、およびQColorConstants 。
メンバ型のドキュメント
enum QColor::NameFormat
name() 関数の出力の書式設定方法
| 定数 | 値 | 説明 |
|---|---|---|
QColor::HexRgb | 0 | #RRGGBB 「#」文字の後に、3 つの 2 桁の 16 進数が続く形式(例:#RRGGBB )。 |
QColor::HexArgb | 1 | #AARRGGBB 「#」文字の後に、2桁の16進数が4つ続く形式(例:#AARRGGBB )。 |
name()も参照してください 。
enum QColor::Spec
指定する色の種類(RGB、拡張RGB、HSV、CMYK、またはHSL)。
| 定数 | 値 |
|---|---|
QColor::Rgb | 1 |
QColor::Hsv | 2 |
QColor::Cmyk | 3 |
QColor::Hsl | 4 |
QColor::ExtendedRgb | 5 |
QColor::Invalid | 0 |
メンバ関数のドキュメント
[constexpr noexcept] QColor::QColor()
RGB値 (0, 0, 0) を持つ無効な色を生成します。無効な色とは、基盤となるウィンドウシステムに対して適切に設定されていない色のことです。
無効な色のアルファ値は未定義です。
isValid()も参照してください 。
[noexcept] QColor::QColor(QRgb color)
color の値を持つ色を生成します。アルファ成分は無視され、不透明に設定されます。
fromRgb() およびisValid()も参照してください 。
[noexcept] QColor::QColor(QRgba64 rgba64)
値「rgba64 」を持つ色を作成します。
fromRgba64()も参照してください 。
QColor::QColor(const QString &name)
指定されたname を使用して、fromString() と同様に、名前付き色を生成します。
name を解析できない場合、その色は無効のままとなります。
fromString()、name()、およびisValid()も参照してください 。
[constexpr noexcept] QColor::QColor(int r, int g, int b, int a = 255)
RGB値r 、g 、b 、およびアルファチャンネル(透明度)値a を用いて色を生成します。
引数のいずれかが無効な場合、その色は無効となります。
setRgba() およびisValid()も参照してください 。
QColor::QColor(QLatin1StringView name)
指定されたname を使用して、fromString() と同様に、名前付き色を生成します。
これはオーバーロードされた関数です。
fromString()、name()、およびisValid()も参照してください 。
[noexcept] QColor::QColor(Qt::GlobalColor color)
color の色値を持つ新しい色を作成します。
これはオーバーロードされた関数です。
isValid() およびPredefined Colorsも参照してください 。
QColor::QColor(const char *name)
指定されたname を使用して、fromString() と同様に、名前付き色を生成します。
これはオーバーロードされた関数です。
fromString()、name()、およびisValid()も参照してください 。
[noexcept] int QColor::alpha() const
この色のアルファ色成分を返します。
setAlpha()、alphaF()、およびAlpha-Blended Drawingも参照してください 。
[noexcept] float QColor::alphaF() const
この色のアルファ成分を返します。
setAlphaF()、alpha()、およびAlpha-Blended Drawingも参照してください 。
[noexcept] int QColor::black() const
この色の黒の成分を返します。
blackF()、getCmyk()、およびThe CMYK Color Modelも参照してください 。
[noexcept] float QColor::blackF() const
この色の黒の成分を返します。
black()、getCmykF()、およびThe CMYK Color Modelも参照してください 。
[noexcept] int QColor::blue() const
この色の青の成分を返します。
setBlue()、blueF()、およびgetRgb()も参照してください 。
[noexcept] float QColor::blueF() const
この色の青の成分を返します。
setBlueF()、blue()、およびgetRgbF()も参照してください 。
[static] QStringList QColor::colorNames()
Qtが認識している色名を含むQStringList を返します。
Predefined Colorsも参照してください 。
[noexcept] QColor QColor::convertTo(QColor::Spec colorSpec) const
colorSpec で指定された形式で、この色のコピーを作成します。
spec()、toCmyk()、toHsv()、toRgb()、およびisValid()も参照してください 。
[noexcept] int QColor::cyan() const
この色のシアン成分を返します。
cyanF()、getCmyk()、およびThe CMYK Color Modelも参照してください 。
[noexcept] float QColor::cyanF() const
この色のシアン成分を返します。
cyan()、getCmykF()、およびThe CMYK Color Modelも参照してください 。
[noexcept] QColor QColor::darker(int factor = 200) const
より暗い(または明るい)色を返しますが、このオブジェクト自体は変更されません。
factor が100より大きい場合、この関数はより暗い色を返します。factor を 300 に設定すると、明るさが 3 分の 1 になった色が返されます。factor が 100 未満の場合、返される色は明るくなりますが、この目的にはlighter() 関数の使用をお勧めします。factor が 0 または負の場合、戻り値は未定義です。
この関数は、現在の色を HSV に変換し、その値(V)成分をfactor で除算して、色を元の色指定形式に戻します。
lighter() およびisValid()も参照してください 。
[static] QColor QColor::fromCmyk(int c, int m, int y, int k, int a = 255)
指定されたCMYK色値(c (シアン)、m (マゼンタ)、y (イエロー)、k (ブラック)、a (アルファチャンネル、すなわち透明度))から構築されたQColor を返す静的便利関数です。
すべての値は 0~255 の範囲内である必要があります。
toCmyk()、fromCmykF()、isValid()、およびThe CMYK Color Modelも参照してください 。
[static] QColor QColor::fromCmykF(float c, float m, float y, float k, float a = 1.0)
指定されたCMYK色値(c (シアン)、m (マゼンタ)、y (イエロー)、k (ブラック)、a (アルファチャンネル、すなわち透明度))から構築されたQColor を返す静的な便利関数です。
すべての値は 0.0 から 1.0 の範囲でなければなりません。
toCmyk()、fromCmyk()、isValid()、およびThe CMYK Color Modelも参照してください 。
[static] QColor QColor::fromHsl(int h, int s, int l, int a = 255)
HSVカラー値(h (色相)、s (彩度)、l (明度)、a (アルファチャンネル、すなわち透明度))から構成されたQColor を返す静的な便利関数です。
s 、l 、およびa の値はすべて0~255の範囲内である必要があり、h の値は0~359の範囲内である必要があります。
toHsl()、fromHslF()、isValid()、およびThe HSL Color Modelも参照してください 。
[static] QColor QColor::fromHslF(float h, float s, float l, float a = 1.0)
HSV色値(h (色相)、s (彩度)、l (明度)、a (アルファチャンネル、すなわち透明度))から構成されたQColor を返す静的な便利関数です。
すべての値は 0.0~1.0 の範囲でなければなりません。
toHsl()、fromHsl()、isValid()、およびThe HSL Color Modelも参照してください 。
[static] QColor QColor::fromHsv(int h, int s, int v, int a = 255)
HSVカラー値(h (色相)、s (彩度)、v (明度)、a (アルファチャンネル、すなわち透明度))から構成されたQColor を返す静的便利関数です。
s 、v 、およびa の値はすべて 0~255 の範囲内である必要があり、h の値は 0~359 の範囲内である必要があります。
toHsv()、fromHsvF()、isValid()、およびThe HSV Color Modelも参照してください 。
[static] QColor QColor::fromHsvF(float h, float s, float v, float a = 1.0)
HSV色値(h (色相)、s (彩度)、v (明度)、a (アルファチャンネル、すなわち透明度))から構築されたQColor を返す静的な便利関数です。
すべての値は 0.0~1.0 の範囲でなければなりません。
toHsv()、fromHsv()、isValid()、およびThe HSV Color Modelも参照してください 。
[static noexcept] QColor QColor::fromRgb(QRgb rgb)
指定されたQRgb 値rgb から構築されたQColor を返す静的な便利関数です。
rgb のアルファ成分は無視されます(つまり、自動的に255に設定されます)。指定されたQRgb 値で指定されたアルファチャンネルを含めるには、fromRgba()関数を使用してください。
関連項目: fromRgba()、fromRgbF()、toRgb()、およびisValid()。
[static] QColor QColor::fromRgb(int r, int g, int b, int a = 255)
RGBカラー値、r (赤)、g (緑)、b (青)、a (アルファチャンネル、すなわち透明度)から構成されたQColor を返す静的な便利関数です。
すべての値は 0~255 の範囲内である必要があります。
toRgb()、fromRgba64()、fromRgbF()、およびisValid()も参照してください 。
[static noexcept] QColor QColor::fromRgba64(QRgba64 rgba64)
指定されたQRgba64 値rgba64 から構築されたQColor を返す静的な便利関数です。
fromRgb()、fromRgbF()、toRgb()、およびisValid()も参照してください 。
[static noexcept] QColor QColor::fromRgba64(ushort r, ushort g, ushort b, ushort a = USHRT_MAX)
RGBA64の色値、r (赤)、g (緑)、b (青)、a (アルファチャンネル、すなわち透明度)から構成されたQColor を返す静的な便利関数です。
fromRgb()、fromRgbF()、toRgb()、およびisValid()も参照してください 。
[static] QColor QColor::fromRgbF(float r, float g, float b, float a = 1.0)
RGB カラー値(r (赤)、g (緑)、b (青)、a (アルファチャンネル、すなわち透明度))から構成された `QColor ` を返す静的な便利関数です。
アルファ値は 0.0~1.0 の範囲内である必要があります。他の値のいずれかが 0.0~1.0 の範囲外の場合、カラーモデルはExtendedRgb として設定されます。
fromRgb()、fromRgba64()、toRgb()、およびisValid()も参照してください 。
[static noexcept] QColor QColor::fromRgba(QRgb rgba)
指定されたQRgb 値rgba から構築されたQColor を返す静的な便利関数です。
fromRgb() 関数とは異なり、指定されたQRgb 値で指定されたアルファチャンネルが含まれます。
fromRgb()、fromRgba64()、およびisValid()も参照してください 。
[static noexcept, since 6.4] QColor QColor::fromString(QAnyStringView name)
name から解析された RGBQColor を返します。この値は、以下のいずれかの形式である可能性があります:
- #RGB(R、G、Bの各値は1桁の16進数)
- #RRGGBB
- #AARRGGBB (バージョン 5.2 以降)
- #RRRGGGBBB
- #RRRRGGGGBBBB
- World Wide Web Consortium が提供するSVG カラーキーワード名のリストで定義されている色名。例えば、「steelblue」や「gainsboro」など。これらの色名はすべてのプラットフォームで機能します。 なお、これらの色名はQt::GlobalColor の列挙型で定義されているものとは異なります。例えば、「green」とQt::green は同じ色を指しません。
transparent- 色が存在しないことを表します。
name を解析できない場合は、無効な色を返します。
この関数は Qt 6.4 で導入されました。
isValidColorName()も参照してください 。
void QColor::getCmyk(int *c, int *m, int *y, int *k, int *a = nullptr) const
c 、m 、y 、k 、およびa が指す内容を、色の CMYK 値のシアン、マゼンタ、イエロー、ブラック、およびアルファチャンネル(透明度)の各成分に設定します。
これらの成分は、cyan()、magenta()、yellow()、black()、およびalpha() 関数を使用して個別に取得できます。
setCmyk() およびThe CMYK Color Modelも参照してください 。
void QColor::getCmykF(float *c, float *m, float *y, float *k, float *a = nullptr) const
c 、m 、y 、k 、およびa が指す内容を、色の CMYK 値のシアン、マゼンタ、イエロー、ブラック、およびアルファチャンネル(透明度)の各成分に設定します。
これらの成分は、cyanF()、magentaF()、yellowF()、blackF()、およびalphaF() 関数を使用して個別に取得できます。
setCmykF() およびThe CMYK Color Modelも参照してください 。
void QColor::getHsl(int *h, int *s, int *l, int *a = nullptr) const
h 、s 、l 、およびa が指す内容を、色のHSL値の色相、彩度、明度、およびアルファチャンネル(透明度)の各成分に設定します。
これらの構成要素は、hslHue()、hslSaturation()、lightness() およびalpha() 関数を使用して個別に取得できます。
getHslF()、setHsl()、およびThe HSL Color Modelも参照してください 。
void QColor::getHslF(float *h, float *s, float *l, float *a = nullptr) const
h 、s 、l 、およびa が指す内容を、色の HSL 値の色相、彩度、明度、およびアルファチャンネル(透明度)の各成分に設定します。
これらの構成要素は、hslHueF()、hslSaturationF()、lightnessF() およびalphaF() 関数を使用して個別に取得できます。
getHsl()、setHslF()、およびThe HSL Color Modelも参照してください 。
void QColor::getHsv(int *h, int *s, int *v, int *a = nullptr) const
h 、s 、v 、およびa が指す内容を、色の HSV 値の色相、彩度、明度、およびアルファチャンネル(透明度)の各成分に設定します。
これらの成分は、hue()、saturation()、value() およびalpha() 関数を使用して個別に取得できます。
setHsv() およびThe HSV Color Modelも参照してください 。
void QColor::getHsvF(float *h, float *s, float *v, float *a = nullptr) const
h 、s 、v 、およびa が指す内容を、色のHSV値の色相、彩度、明度、およびアルファチャンネル(透明度)の各成分に設定します。
これらの成分は、hueF()、saturationF()、valueF() およびalphaF() 関数を使用して個別に取得できます。
setHsv() およびThe HSV Color Modelも参照してください 。
void QColor::getRgb(int *r, int *g, int *b, int *a = nullptr) const
r 、g 、b 、およびa が指す内容を、色のRGB値の赤、緑、青、およびアルファチャンネル(透明度)の各成分に設定します。
これらの成分は、red()、green()、blue() およびalpha() 関数を使用して個別に取得できます。
void QColor::getRgbF(float *r, float *g, float *b, float *a = nullptr) const
r 、g 、b 、およびa が指す内容を、色のRGB値の赤、緑、青、およびアルファチャンネル(透明度)の各成分に設定します。
これらの成分は、redF()、greenF()、blueF() およびalphaF() 関数を使用して個別に取得できます。
[noexcept] int QColor::green() const
この色の緑の成分を返します。
setGreen()、greenF()、およびgetRgb()も参照してください 。
[noexcept] float QColor::greenF() const
この色の緑の成分を返します。
setGreenF()、green()、およびgetRgbF()も参照してください 。
[noexcept] int QColor::hslHue() const
この色のHSL色相成分を返します。
hslHueF()、hsvHue()、getHsl()、およびThe HSL Color Modelも参照してください 。
[noexcept] float QColor::hslHueF() const
この色のHSL色相成分を返します。
hslHue()、hsvHueF()、およびgetHslF()も参照してください 。
[noexcept] int QColor::hslSaturation() const
この色のHSL彩度成分を返します。
hslSaturationF()、hsvSaturation()、getHsl()、およびThe HSL Color Modelも参照してください 。
[noexcept] float QColor::hslSaturationF() const
この色のHSL彩度成分を返します。
hslSaturation()、hsvSaturationF()、getHslF()、およびThe HSL Color Modelも参照してください 。
[noexcept] int QColor::hsvHue() const
この色のHSV色相成分を返します。
hueF()、hslHue()、getHsv()、およびThe HSV Color Modelも参照してください 。
[noexcept] float QColor::hsvHueF() const
この色の色相成分を返します。
hue()、hslHueF()、getHsvF()、およびThe HSV Color Modelも参照してください 。
[noexcept] int QColor::hsvSaturation() const
この色のHSV彩度成分を返します。
saturationF()、hslSaturation()、getHsv()、およびThe HSV Color Modelも参照してください 。
[noexcept] float QColor::hsvSaturationF() const
この色のHSV彩度成分を返します。
saturation()、hslSaturationF()、getHsvF()、およびThe HSV Color Modelも参照してください 。
[noexcept] int QColor::hue() const
この色のHSV色相成分を返します。
色は暗黙的にHSVに変換されます。
hsvHue()、hslHue()、hueF()、getHsv()、およびThe HSV Color Modelも参照してください 。
[noexcept] float QColor::hueF() const
この色のHSV色相成分を返します。
色は暗黙的にHSVに変換されます。
hsvHueF()、hslHueF()、hue()、getHsvF()、およびThe HSV Color Modelも参照してください 。
[noexcept] bool QColor::isValid() const
色が有効な場合は `true ` を返し、そうでない場合は `false` を返します。
[static noexcept, since 6.4] bool QColor::isValidColorName(QAnyStringView name)
name が有効な色名であり、有効なQColor オブジェクトを構築するために使用できる場合は、true を返します。そうでない場合は false を返します。
fromString() で使用されているのと同じアルゴリズムを使用します。
この関数は Qt 6.4 で導入されました。
fromString()も参照してください 。
[noexcept] QColor QColor::lighter(int factor = 150) const
より明るい(または暗い)色を返しますが、このオブジェクト自体は変更されません。
factor が100より大きい場合、この関数はより明るい色を返します。factor を150に設定すると、50%明るい色が返されます。factor が100未満の場合、返される色は暗くなりますが、この目的にはdarker()関数の使用をお勧めします。factor が0または負の場合、戻り値は未定義です。
この関数は、現在の色をHSVに変換し、値(V)成分にfactor を乗算して、その色を元の色指定形式に戻します。
darker() およびisValid()も参照してください 。
[noexcept] int QColor::lightness() const
この色の明度成分を返します。
lightnessF() およびgetHsl()も参照してください 。
[noexcept] float QColor::lightnessF() const
この色の明度成分を返します。
value() およびgetHslF()も参照してください 。
[noexcept] int QColor::magenta() const
この色のマゼンタ成分を返します。
magentaF()、getCmyk()、およびThe CMYK Color Modelも参照してください 。
[noexcept] float QColor::magentaF() const
この色のマゼンタ成分を返します。
magenta()、getCmykF()、およびThe CMYK Color Modelも参照してください 。
QString QColor::name(QColor::NameFormat format = HexRgb) const
指定されたformat 内の色の名前を返します。
fromString() およびNameFormatも参照してください 。
[noexcept] int QColor::red() const
この色の赤の成分を返します。
setRed()、redF()、およびgetRgb()も参照してください 。
[noexcept] float QColor::redF() const
この色の赤の成分を返します。
setRedF()、red()、およびgetRgbF()も参照してください 。
[noexcept] QRgb QColor::rgb() const
色のRGB値を返します。アルファ値は不透明です。
setRgb()、getRgb()、およびrgba()も参照してください 。
[noexcept] QRgba64 QColor::rgba64() const
その色のRGB64値(アルファ値を含む)を返します。
無効な色の場合、返される色のアルファ値は未定義となります。
setRgba64()、rgba()、およびrgb()も参照してください 。
[noexcept] QRgb QColor::rgba() const
その色のRGB値(アルファ値を含む)を返します。
無効な色の場合、返される色のアルファ値は未定義となります。
setRgba()、rgb()、およびrgba64()も参照してください 。
[noexcept] int QColor::saturation() const
この色のHSV彩度成分を返します。
色は暗黙的にHSVに変換されます。
hsvSaturation()、hslSaturation()、saturationF()、getHsv()、およびThe HSV Color Modelも参照してください 。
[noexcept] float QColor::saturationF() const
この色のHSVの彩度成分を返します。
色は暗黙的にHSVに変換されます。
hsvSaturationF()、hslSaturationF()、saturation()、getHsvF()、およびThe HSV Color Modelも参照してください 。
void QColor::setAlpha(int alpha)
この色のアルファ値をalpha に設定します。アルファ値は0~255の範囲の整数で指定します。
alpha()、alphaF()、およびAlpha-Blended Drawingも参照してください 。
void QColor::setAlphaF(float alpha)
この色のアルファ値を `alpha` に設定します。float型のアルファ値は0.0~1.0の範囲で指定します。
alphaF()、alpha()、およびAlpha-Blended Drawingも参照してください 。
void QColor::setBlue(int blue)
この色の青の成分をblue に設定します。整数の成分は 0~255 の範囲で指定されます。
blue()、blueF()、およびsetRgb()も参照してください 。
void QColor::setBlueF(float blue)
この色の青の成分をblue に設定します。blue が0.0~1.0の範囲外にある場合、カラーモデルはExtendedRgb に変更されます。
blueF()、blue()、およびsetRgbF()も参照してください 。
void QColor::setCmyk(int c, int m, int y, int k, int a = 255)
色をCMYK値、c (シアン)、m (マゼンタ)、y (イエロー)、k (ブラック)、a (アルファチャンネル、すなわち透明度)に設定します。
すべての値は 0~255 の範囲でなければなりません。
getCmyk()、setCmykF()、およびThe CMYK Color Modelも参照してください 。
void QColor::setCmykF(float c, float m, float y, float k, float a = 1.0)
色をCMYK値に設定します。c (シアン)、m (マゼンタ)、y (イエロー)、k (ブラック)、a (アルファチャンネル、すなわち透明度)。
すべての値は 0.0 から 1.0 の範囲内である必要があります。
getCmykF()、setCmyk()、およびThe CMYK Color Modelも参照してください 。
void QColor::setGreen(int green)
この色の緑のカラー成分をgreen に設定します。整数の成分は 0~255 の範囲で指定します。
green()、greenF()、およびsetRgb()も参照してください 。
void QColor::setGreenF(float green)
この色の緑の成分をgreen に設定します。green が 0.0~1.0 の範囲外にある場合、カラーモデルはExtendedRgb に変更されます。
greenF()、green()、およびsetRgbF()も参照してください 。
void QColor::setHsl(int h, int s, int l, int a = 255)
HSL カラー値を設定します。h は色相、s は彩度、l は明度、a は HSL カラーのアルファ成分です。
彩度、明度、アルファチャンネルの値は 0~255 の範囲内である必要があり、色相の値は -1 より大きくなければなりません。
getHsl() およびsetHslF()も参照してください 。
void QColor::setHslF(float h, float s, float l, float a = 1.0)
HSL色の明度を設定します。h は色相、s は彩度、l は明度、a はHSL色のアルファ成分です。
すべての値は 0.0~1.0 の範囲でなければなりません。
getHslF() およびsetHsl()も参照してください 。
void QColor::setHsv(int h, int s, int v, int a = 255)
HSVカラーの値を設定します。h は色相、s は彩度、v は明度、a はHSVカラーのアルファ成分です。
彩度、明度、およびアルファチャンネルの値は 0~255 の範囲でなければならず、色相の値は -1 より大きくなければなりません。
getHsv()、setHsvF()、およびThe HSV Color Modelも参照してください 。
void QColor::setHsvF(float h, float s, float v, float a = 1.0)
HSVカラーの値を設定します。h は色相、s は彩度、v は明度、a はHSVカラーのアルファ成分です。
すべての値は 0.0~1.0 の範囲でなければなりません。
getHsvF()、setHsv()、およびThe HSV Color Modelも参照してください 。
void QColor::setRed(int red)
この色の赤の成分をred に設定します。整数の成分は 0~255 の範囲で指定されます。
red()、redF()、およびsetRgb()も参照してください 。
void QColor::setRedF(float red)
この色の赤の成分をred に設定します。red が 0.0~1.0 の範囲外にある場合、カラーモデルはExtendedRgb に変更されます。
redF()、red()、およびsetRgbF()も参照してください 。
void QColor::setRgb(int r, int g, int b, int a = 255)
RGB値をr 、g 、b に、アルファ値をa に設定します。
すべての値は 0~255 の範囲内である必要があります。
rgb()、getRgb()、およびsetRgbF()も参照してください 。
[noexcept] void QColor::setRgb(QRgb rgb)
RGB値をrgb に設定します。アルファ値は不透明に設定されます。
これはオーバーロードされた関数です。
[noexcept] void QColor::setRgba64(QRgba64 rgba)
RGB64の値を、アルファ値を含めてrgba に設定します。
setRgba() およびrgba64()も参照してください 。
void QColor::setRgbF(float r, float g, float b, float a = 1.0)
この色のカラーチャンネルを、r (赤)、g (緑)、b (青)、a (アルファ、透明度)に設定します。
アルファ値は 0.0~1.0 の範囲でなければなりません。他の値のいずれかが 0.0~1.0 の範囲外の場合、カラーモデルはExtendedRgb として設定されます。
rgb()、getRgbF()、およびsetRgb()も参照してください 。
[noexcept] void QColor::setRgba(QRgb rgba)
RGB値をrgba に設定します(アルファ値を含む)。
rgba()、rgb()、およびsetRgba64()も参照してください 。
[noexcept] QColor::Spec QColor::spec() const
色がどのように指定されたかを返します。
Spec およびconvertTo()も参照してください 。
[noexcept] QColor QColor::toCmyk() const
この色に基づいて、CMYK形式のQColor を作成して返します。
fromCmyk()、convertTo()、isValid()、およびThe CMYK Color Modelも参照してください 。
[noexcept] QColor QColor::toExtendedRgb() const
この色に基づいて、拡張RGBのQColor を作成して返します。
toRgb およびconvertTo()も参照してください 。
[noexcept] QColor QColor::toHsl() const
この色に基づいて、HSLQColor を作成して返します。
fromHsl()、convertTo()、isValid()、およびThe HSL Color Modelも参照してください 。
[noexcept] QColor QColor::toHsv() const
この色に基づいて、HSV形式のQColor を作成して返します。
fromHsv()、convertTo()、isValid()、およびThe HSV Color Modelも参照してください 。
[noexcept] QColor QColor::toRgb() const
この色に基づいてRGBのQColor を作成し、返します。
fromRgb()、convertTo()、およびisValid()も参照してください 。
[noexcept] int QColor::value() const
この色の色成分の値を返します。
valueF()、getHsv()、およびThe HSV Color Modelも参照してください 。
[noexcept] float QColor::valueF() const
この色の色成分の値を返します。
value()、getHsvF()、およびThe HSV Color Modelも参照してください 。
[noexcept] int QColor::yellow() const
この色の黄色成分を返します。
yellowF()、getCmyk()、およびThe CMYK Color Modelも参照してください 。
[noexcept] float QColor::yellowF() const
この色の黄色成分を返します。
yellow()、getCmykF()、およびThe CMYK Color Modelも参照してください 。
QColor::operator QVariant() const
色をQVariant
[noexcept] bool QColor::operator!=(const QColor &color) const
この色の色指定または成分値が `color` と異なる場合、true を返します。それ以外の場合は、false を返します。
ExtendedRgb また、この文脈では Rgb 指定は一致するとみなされます。
spec()も参照してください 。
[noexcept] QColor &QColor::operator=(Qt::GlobalColor color)
color のコピーを割り当て、この色への参照を返します。
[noexcept] bool QColor::operator==(const QColor &color) const
この色が `color` と同じ色指定および成分値を持つ場合、true を返します。そうでない場合は、false を返します。
ExtendedRgb また、この文脈では Rgb 指定は一致しているとみなされます。
spec()も参照してください 。
関連する非メンバー関数
QRgb
#AARRGGBB 形式の ARGB 4 値型で、unsigned int 型に相当します。
この型はアルファチャンネルの値も保持します。デフォルトのアルファチャンネルはff 、つまり不透明です。詳細については、「Alpha-Blended Drawing 」のセクションを参照してください。
以下に、QRgb 値の作成例をいくつか示します。
const QRgb rgb1 = 0x88112233;
const QRgb rgb2 = QColor("red").rgb();
const QRgb rgb3 = qRgb(qRed(rgb1), qGreen(rgb2), qBlue(rgb2));
const QRgb rgb4 = qRgba(qRed(rgb1), qGreen(rgb2), qBlue(rgb2), qAlpha(rgb1));関連項目: qRgb()、qRgba()、QColor::rgb()、およびQColor::rgba()。
[constexpr] int qAlpha(QRgb rgba)
ARGB 4色組 `rgba` のアルファ成分を返します。
qRgb() およびQColor::alpha()も参照してください 。
[constexpr] uint qAlpha(QRgba64 rgba64)
rgba64 のアルファ成分を 8 ビット値として返します。
QRgba64::alpha8() およびQColor::alpha()も参照してください 。
[constexpr] int qBlue(QRgb rgb)
ARGB 4色組 `rgb` の青成分を返します。
qRgb() およびQColor::blue()も参照してください 。
[constexpr] uint qBlue(QRgba64 rgba64)
rgba64 の青成分を 8 ビット値として返します。
QRgba64::blue8() およびQColor::blue()も参照してください 。
[constexpr] int qGray(int r, int g, int b)
(r,g,b) の3つの値から、グレー値(0~255)を返します。
グレースケール値は、式 (r * 11 +g * 16 +b * 5)/32 を用いて計算されます。
[constexpr] int qGray(QRgb rgb)
指定されたARGBの4色組rgb から、グレー値(0~255)を返します。
グレースケール値は、式 (R * 11 + G * 16 + B * 5)/32 を用いて計算されます。アルファチャンネルは無視されます。
これはオーバーロードされた関数です。
[constexpr] int qGreen(QRgb rgb)
ARGB 4色組 `rgb` の緑成分を返します。
qRgb() およびQColor::green()も参照してください 。
[constexpr] uint qGreen(QRgba64 rgba64)
rgba64 の緑成分を 8 ビット値として返します。
QRgba64::green8() およびQColor::green()も参照してください 。
[constexpr] QRgb qPremultiply(QRgb rgb)
乗算処理されていない ARGB 4 色組 `rgb ` を、乗算処理済みの ARGB 4 色組に変換します。
qUnpremultiply()も参照してください 。
[constexpr] QRgba64 qPremultiply(QRgba64 rgba64)
乗算前のQRgba64 形式の4元組rgba64 を、乗算済みのQRgba64 形式の4元組に変換します。
QRgba64::premultiplied() およびqUnpremultiply()も参照してください 。
[constexpr] int qRed(QRgb rgb)
ARGB 4色組 `rgb` の赤成分を返します。
qRgb() およびQColor::red()も参照してください 。
[constexpr] uint qRed(QRgba64 rgba64)
rgba64 の赤成分を 8 ビット値として返します。
QRgba64::red8() およびQColor::red()も参照してください 。
[constexpr] QRgb qRgb(int r, int g, int b)
ARGBの4要素の組(255,r,g,b )を返します。
qRgba()、qRed()、qGreen()、qBlue()、およびqAlpha()も参照してください 。
[constexpr] QRgba64 qRgba64(quint64 c)
c を `QRgba64 ` 構造体として返します。
qRgba()も参照してください 。
[constexpr] QRgba64 qRgba64(quint16 r, quint16 g, quint16 b, quint16 a)
QRgba64 の4要素のタプル(r 、g 、b 、a )を返します。
qRgba()も参照してください 。
[constexpr] QRgb qRgba(int r, int g, int b, int a)
ARGBの4要素のタプル(a 、r 、g 、b )を返します。
qRgb()、qRed()、qGreen()、qBlue()、およびqAlpha()も参照してください 。
QRgb qUnpremultiply(QRgb rgb)
前乗算済みのARGB 4値データ `rgb ` を、前乗算されていないARGB 4値データに変換します。
qPremultiply()も参照してください 。
[constexpr] QRgba64 qUnpremultiply(QRgba64 rgba64)
前乗算済みのQRgba64 の4要素組rgba64 を、前乗算されていないQRgba64 の4要素組に変換します。
QRgba64::unpremultiplied() およびqPremultiply()も参照してください 。
QDataStream &operator<<(QDataStream &stream, const QColor &color)
color をstream に書き込みます。
「Qt データ型のシリアライズ」も参照してください 。
QDataStream &operator>>(QDataStream &stream, QColor &color)
stream から `color ` を読み込みます。
「Qt データ型のシリアライズ」も参照してください 。
© 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.


