QColorDialog Class
QColorDialog クラスは、色を指定するためのダイアログウィジェットを提供します。詳細...
| ヘッダー: | #include <QColorDialog> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| 継承元: | QDialog |
- 継承されたメンバーを含むすべてのメンバーの一覧
- QColorDialog は「標準ダイアログ」の一部です。
パブリック型
| enum | ColorDialogOption { ShowAlphaChannel, NoButtons, NoEyeDropperButton, DontUseNativeDialog } |
| flags | ColorDialogOptions |
プロパティ
- currentColor : QColor
- options : ColorDialogOptions
パブリック関数
| QColorDialog(QWidget *parent = nullptr) | |
| QColorDialog(const QColor &initial, QWidget *parent = nullptr) | |
| virtual | ~QColorDialog() |
| QColor | currentColor() const |
| void | open(QObject *receiver, const char *member) |
| QColorDialog::ColorDialogOptions | options() const |
| QColor | selectedColor() const |
| void | setCurrentColor(const QColor &color) |
| void | setOption(QColorDialog::ColorDialogOption option, bool on = true) |
| void | setOptions(QColorDialog::ColorDialogOptions options) |
| bool | testOption(QColorDialog::ColorDialogOption option) const |
再実装されたパブリック関数
| virtual void | setVisible(bool visible) override |
シグナル
| void | colorSelected(const QColor &color) |
| void | currentColorChanged(const QColor &color) |
静的パブリックメンバー
| QColor | customColor(int index) |
| int | customCount() |
| QColor | getColor(const QColor &initial = Qt::white, QWidget *parent = nullptr, const QString &title = QString(), QColorDialog::ColorDialogOptions options = ColorDialogOptions()) |
| void | setCustomColor(int index, QColor color) |
| void | setStandardColor(int index, QColor color) |
| QColor | standardColor(int index) |
再実装されたプロテクト関数
| virtual void | changeEvent(QEvent *e) override |
| virtual void | done(int result) override |
詳細な説明
カラーダイアログの機能は、ユーザーが色を選択できるようにすることです。たとえば、描画プログラムでこれを使用して、ユーザーがブラシの色を設定できるようにすることができます。
静的関数は、モーダルなカラーダイアログを提供します。
静的関数 `getColor()` は、ダイアログを表示し、ユーザーが色を指定できるようにします。この関数を使用すると、透明度を指定して色を選択させることも可能です。その場合は、追加の引数として `ShowAlphaChannel ` オプションを指定してください。
ユーザーはcustomCount()に異なるカスタムカラーを保存できます。これらのカスタムカラーはすべてのカラーダイアログで共有され、プログラムの実行中も保持されます。カスタムカラーを設定するにはsetCustomColor()を使用し、取得するにはcustomColor()を使用します。
「画面の色を選択」ボタンを押すと、カーソルが十字カーソルに変わり、画面上の色がスキャンされます。ユーザーはマウスクリックまたはEnterキーを押すことで、1つの色を選択できます。Escキーを押すと、このモードに入る前に最後に選択されていた色に戻ります。
「Standard Dialogs」の例では、QColorDialog やその他の組み込み Qt ダイアログの使用方法を示しています。

関連項目: QColor 、QFileDialog 、QFontDialog 、および「Standard Dialogs」サンプルを参照してください 。
メンバ型のドキュメント
enum QColorDialog::ColorDialogOption
flags QColorDialog::ColorDialogOptions
この列挙型は、色選択ダイアログの外観や操作感に影響を与えるさまざまなオプションを指定します。
| 定数 | 値 | 説明 |
|---|---|---|
QColorDialog::ShowAlphaChannel | 0x00000001 | ユーザーが色のアルファ成分を選択できるようにします。 |
QColorDialog::NoButtons | 0x00000002 | 「OK 」および「Cancel 」ボタンを表示しません。(「ライブダイアログ」に有用です。) |
QColorDialog::NoEyeDropperButton | 0x00000008 | 「Eye Dropper 」ボタンを非表示にします。この値は Qt 6.6 で追加されました。 |
QColorDialog::DontUseNativeDialog | 0x00000004 | オペレーティングシステムのネイティブカラーダイアログの代わりに、Qtの標準カラーダイアログを使用します。 |
ColorDialogOptions 型は、QFlags<ColorDialogOption> の typedef です。ColorDialogOption 値の OR 組み合わせを格納します。
関連項目: options 、setOption()、testOption()、およびwindowModality()。
プロパティのドキュメント
currentColor : QColor
このプロパティは、ダイアログで現在選択されている色を保持します
アクセス関数:
| QColor | currentColor() const |
| void | setCurrentColor(const QColor &color) |
通知シグナル:
| void | currentColorChanged(const QColor &color) |
options : ColorDialogOptions
このプロパティには、ダイアログの見た目や操作感に影響を与えるさまざまなオプションが格納されています
デフォルトでは、すべてのオプションは無効になっています。
オプションは、ダイアログを表示する前に設定する必要があります。ダイアログが表示されている間に設定しても、その設定がダイアログに即座に反映されるとは限りません(オプションやプラットフォームによって異なります)。
アクセス関数:
| QColorDialog::ColorDialogOptions | options() const |
| void | setOptions(QColorDialog::ColorDialogOptions options) |
関連項目: setOption() およびtestOption()。
メンバ関数のドキュメント
[explicit] QColorDialog::QColorDialog(QWidget *parent = nullptr)
指定されたparent を使用して、色選択ダイアログを作成します。
[explicit] QColorDialog::QColorDialog(const QColor &initial, QWidget *parent = nullptr)
指定されたparent と、指定されたinitial の色を使用して、色選択ダイアログを作成します。
[virtual noexcept] QColorDialog::~QColorDialog()
[色] ダイアログを閉じます。
[override virtual protected] void QColorDialog::changeEvent(QEvent *e)
QWidget::changeEvent(QEvent *event) を再実装します。
[signal] void QColorDialog::colorSelected(const QColor &color)
このシグナルは、ユーザーがOK をクリックして使用する色を選択した直後に発火します。選択された色はcolor で指定されます。
「color」および「currentColorChanged()」も参照してください 。
[signal] void QColorDialog::currentColorChanged(const QColor &color)
このシグナルは、ダイアログの現在の色が変更されるたびに発火します。現在の色は、color で指定されます。
注: プロパティ `currentColor`の通知 シグナルです。
「color」および `colorSelected()`も参照してください 。
[static] QColor QColorDialog::customColor(int index)
指定されたindex のカスタムカラーを、QColor 値として返します。
setCustomColor()も参照してください 。
[static] int QColorDialog::customCount()
QColorDialog でサポートされているカスタムカラーの数を返します。すべてのカラーダイアログで、同じカスタムカラーが共有されます。
[override virtual protected] void QColorDialog::done(int result)
QDialog::done(int r) を再実装します。
ダイアログを閉じ、その結果コードをresult に設定します。このダイアログがexec()によって表示された場合、done()はローカルのイベントループを終了させ、exec()はresult を返します。
QDialog::done()も参照してください 。
[static] QColor QColorDialog::getColor(const QColor &initial = Qt::white, QWidget *parent = nullptr, const QString &title = QString(), QColorDialog::ColorDialogOptions options = ColorDialogOptions())
指定されたウィンドウtitle (指定がない場合は「Select Color」)を持つモーダルな色選択ダイアログを表示し、ユーザーに色を選ばせた後、その色を返します。色は初期状態でinitial に設定されています。このダイアログはparent の子要素です。ユーザーがダイアログをキャンセルした場合、無効な色(QColor::isValid()を参照)を返します。
options 引数を使用すると、ダイアログをカスタマイズできます。
void QColorDialog::open(QObject *receiver, const char *member)
ダイアログを開き、そのcolorSelected()シグナルを、receiver およびmember で指定されたスロットに接続します。
ダイアログが閉じられると、そのシグナルはスロットから切り離されます。
QColor QColorDialog::selectedColor() const
OK または同等のボタンをクリックしてユーザーが選択した色を返します。
注: ユーザーが最終的に使用する色を選択する前に、別の色を選択できる場合があるため、この色は 必ずしもcurrentColor プロパティに設定されている色と一致するとは限りません。
[static] void QColorDialog::setCustomColor(int index, QColor color)
index に設定されたカスタムカラーを、QColor color の値に設定します。
注:この関数は 、macOS プラットフォームのネイティブカラーダイアログには適用されません。この関数がどうしても必要な場合は、QColorDialog::DontUseNativeDialog オプションを使用してください。
「customColor()」も参照してください 。
void QColorDialog::setOption(QColorDialog::ColorDialogOption option, bool on = true)
on がtrueの場合、指定されたoption を有効に設定します。そうでない場合は、指定されたoption をクリアします。
options およびtestOption()も参照してください 。
[static] void QColorDialog::setStandardColor(int index, QColor color)
index の標準色を、QColor color の値に設定します。
注:この関数は 、macOS プラットフォームの「ネイティブカラーダイアログ」には適用されません。それでもこの機能が必要な場合は、QColorDialog::DontUseNativeDialog オプションを使用してください。
関連項目 :standardColor()
[override virtual] void QColorDialog::setVisible(bool visible)
QDialog::setVisible(bool visible) を再実装します。
ダイアログの表示状態を変更します。visible がtrueの場合、ダイアログが表示されます。そうでない場合は非表示になります。
[static] QColor QColorDialog::standardColor(int index)
指定されたindex の標準色を、QColor 値として返します。
setStandardColor()も参照してください 。
bool QColorDialog::testOption(QColorDialog::ColorDialogOption option) const
指定されたoption が有効な場合はtrue を返し、そうでない場合はfalseを返します。
© 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.