Sur cette page

QColorDialog Class

La classe QColorDialog fournit un widget de dialogue pour la spécification des couleurs. Plus d'informations...

En-tête : #include <QColorDialog>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets
Héritages : QDialog

Types publics

enum ColorDialogOption { ShowAlphaChannel, NoButtons, NoEyeDropperButton, DontUseNativeDialog }
flags ColorDialogOptions

Propriétés

Fonctions publiques

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

Fonctions publiques réimplémentées

virtual void setVisible(bool visible) override

Signaux

void colorSelected(const QColor &color)
void currentColorChanged(const QColor &color)

Membres publics statiques

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)

Fonctions protégées réimplémentées

virtual void changeEvent(QEvent *e) override
virtual void done(int result) override

Description détaillée

La fonction de la boîte de dialogue des couleurs est de permettre aux utilisateurs de choisir des couleurs. Par exemple, vous pouvez l'utiliser dans un programme de dessin pour permettre à l'utilisateur de définir la couleur du pinceau.

Les fonctions statiques fournissent des boîtes de dialogue de couleur modales.

La fonction statique getColor() affiche la boîte de dialogue et permet à l'utilisateur de spécifier une couleur. Cette fonction peut également être utilisée pour permettre aux utilisateurs de choisir une couleur avec un niveau de transparence : passez l'option ShowAlphaChannel comme argument supplémentaire.

L'utilisateur peut stocker customCount() différentes couleurs personnalisées. Les couleurs personnalisées sont partagées par toutes les boîtes de dialogue de couleurs et mémorisées pendant l'exécution du programme. Utilisez setCustomColor() pour définir les couleurs personnalisées et utilisez customColor() pour les récupérer.

Lorsque l'on appuie sur le bouton "Pick Screen Color", le curseur prend la forme d'une croix et les couleurs de l'écran sont analysées. L'utilisateur peut en choisir une en cliquant sur la souris ou sur le bouton Entrée. En appuyant sur Echap, la dernière couleur sélectionnée avant d'entrer dans ce mode est rétablie.

L'exemple Standard Dialogs montre comment utiliser QColorDialog ainsi que d'autres dialogues Qt intégrés.

Un dialogue sur les couleurs dans le style du widget Fusion.

Voir également QColor, QFileDialog, QFontDialog, et Standard Dialogs Example.

Documentation des types de membres

enum QColorDialog::ColorDialogOption
flags QColorDialog::ColorDialogOptions

Cette énumération spécifie diverses options qui affectent l'aspect et la convivialité d'une boîte de dialogue de couleur.

ConstanteValeurDescription
QColorDialog::ShowAlphaChannel0x00000001Permet à l'utilisateur de sélectionner la composante alpha d'une couleur.
QColorDialog::NoButtons0x00000002Ne pas afficher les boutons OK et Cancel. (Utile pour les "dialogues en direct").
QColorDialog::NoEyeDropperButton0x00000008Cache le bouton Eye Dropper. Cette valeur a été ajoutée dans Qt 6.6.
QColorDialog::DontUseNativeDialog0x00000004Utiliser la boîte de dialogue des couleurs standard de Qt au lieu de la boîte de dialogue des couleurs native du système d'exploitation.

Le type ColorDialogOptions est un typedef pour QFlags<ColorDialogOption>. Il stocke une combinaison OU de valeurs ColorDialogOption.

Voir également options, setOption(), testOption() et windowModality().

Documentation sur les propriétés

currentColor : QColor

Cette propriété contient la couleur actuellement sélectionnée dans la boîte de dialogue

Fonctions d'accès :

QColor currentColor() const
void setCurrentColor(const QColor &color)

Signal du notificateur :

void currentColorChanged(const QColor &color)

options : ColorDialogOptions

Cette propriété contient les différentes options qui affectent l'aspect et la convivialité de la boîte de dialogue

Par défaut, toutes les options sont désactivées.

Les options doivent être définies avant d'afficher la boîte de dialogue. Le fait de les définir alors que la boîte de dialogue est visible ne garantit pas un effet immédiat sur la boîte de dialogue (en fonction de l'option et de la plate-forme).

Fonctions d'accès :

QColorDialog::ColorDialogOptions options() const
void setOptions(QColorDialog::ColorDialogOptions options)

Voir également setOption() et testOption().

Documentation sur les fonctions membres

[explicit] QColorDialog::QColorDialog(QWidget *parent = nullptr)

Construit un dialogue sur les couleurs avec la valeur donnée parent.

[explicit] QColorDialog::QColorDialog(const QColor &initial, QWidget *parent = nullptr)

Construit un dialogue sur les couleurs avec la valeur donnée parent et la couleur spécifiée initial.

[virtual noexcept] QColorDialog::~QColorDialog()

Détruit la boîte de dialogue des couleurs.

[override virtual protected] void QColorDialog::changeEvent(QEvent *e)

Réimplémente : QWidget::changeEvent(QEvent *event).

[signal] void QColorDialog::colorSelected(const QColor &color)

Ce signal est émis juste après que l'utilisateur a cliqué sur OK pour sélectionner une couleur à utiliser. La couleur choisie est spécifiée par color.

Voir aussi color et currentColorChanged().

[signal] void QColorDialog::currentColorChanged(const QColor &color)

Ce signal est émis lorsque la couleur courante change dans la boîte de dialogue. La couleur courante est spécifiée par color.

Note : Signal de notification pour la propriété currentColor.

Voir aussi color et colorSelected().

[static] QColor QColorDialog::customColor(int index)

Renvoie la couleur personnalisée à l'adresse index donnée sous la forme d'une valeur QColor.

Voir aussi setCustomColor().

[static] int QColorDialog::customCount()

Renvoie le nombre de couleurs personnalisées prises en charge par QColorDialog. Toutes les boîtes de dialogue de couleurs partagent les mêmes couleurs personnalisées.

[override virtual protected] void QColorDialog::done(int result)

Réimplémente : QDialog::done(int r).

Ferme la boîte de dialogue et fixe son code de résultat à result. Si cette boîte de dialogue est affichée avec exec(), done() entraîne la fin de la boucle d'événement locale et exec() renvoie result.

Voir également QDialog::done().

[static] QColor QColorDialog::getColor(const QColor &initial = Qt::white, QWidget *parent = nullptr, const QString &title = QString(), QColorDialog::ColorDialogOptions options = ColorDialogOptions())

Ouvre une boîte de dialogue modale sur les couleurs avec la fenêtre donnée title (ou "Select Color" si aucune couleur n'est spécifiée), laisse l'utilisateur choisir une couleur et renvoie cette couleur. La couleur est initialement fixée à initial. La boîte de dialogue est un enfant de parent. Elle renvoie une couleur non valide (voir QColor::isValid()) si l'utilisateur annule la boîte de dialogue.

L'argument options vous permet de personnaliser la boîte de dialogue.

void QColorDialog::open(QObject *receiver, const char *member)

Ouvre la boîte de dialogue et connecte son signal colorSelected() à l'emplacement spécifié par receiver et member.

Le signal sera déconnecté de l'emplacement lorsque la boîte de dialogue sera fermée.

QColor QColorDialog::selectedColor() const

Renvoie la couleur que l'utilisateur a sélectionnée en cliquant sur le bouton OK ou équivalent.

Remarque : cette couleur n'est pas toujours la même que la couleur détenue par la propriété currentColor, car l'utilisateur peut choisir différentes couleurs avant de sélectionner celle qu'il souhaite utiliser.

[static] void QColorDialog::setCustomColor(int index, QColor color)

Définit la couleur personnalisée à index à la valeur QColor color .

Remarque : cette fonction ne s'applique pas à la boîte de dialogue des couleurs natives sur la plateforme macOS. Si vous avez toujours besoin de cette fonction, utilisez l'option QColorDialog::DontUseNativeDialog.

Voir aussi customColor().

void QColorDialog::setOption(QColorDialog::ColorDialogOption option, bool on = true)

Définit le site option comme étant activé si on est vrai ; sinon, efface le site option.

Voir aussi options et testOption().

[static] void QColorDialog::setStandardColor(int index, QColor color)

Définit la couleur standard à index à la valeur QColor color .

Remarque : cette fonction ne s'applique pas à la boîte de dialogue des couleurs natives sur la plateforme macOS. Si vous avez toujours besoin de cette fonction, utilisez l'option QColorDialog::DontUseNativeDialog.

Voir aussi standardColor().

[override virtual] void QColorDialog::setVisible(bool visible)

Réimplémente : QDialog::setVisible(bool visible).

Modifie la visibilité de la boîte de dialogue. Si visible est vrai, la boîte de dialogue est affichée ; sinon, elle est cachée.

[static] QColor QColorDialog::standardColor(int index)

Renvoie la couleur standard à l'adresse index donnée sous la forme d'une valeur QColor.

Voir aussi setStandardColor().

bool QColorDialog::testOption(QColorDialog::ColorDialogOption option) const

Renvoie true si le site option est activé ; sinon, renvoie false.

Voir aussi options et setOption().

© 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.