Sur cette page

QColorDialog Class

La classe QColorDialog fournit un widget de boîte de dialogue permettant de spécifier des couleurs. En savoir plus...

En-tête : #include <QColorDialog>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets
Hérite de : 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 boîte de dialogue de couleur permet aux utilisateurs de choisir des couleurs. Vous pouvez, par exemple, 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 : il suffit de passer l’option ShowAlphaChannel en tant qu’argument supplémentaire.

L'utilisateur peut enregistrer différentes couleurs personnalisées via ` customCount()`. Ces couleurs personnalisées sont partagées par toutes les boîtes de dialogue de couleur et conservées en mémoire pendant l'exécution du programme. Utilisez ` setCustomColor()` pour définir les couleurs personnalisées, et ` customColor()` pour les récupérer.

Lorsque l'utilisateur clique sur le bouton « Choisir une couleur à l'écran », le curseur se transforme en croix et les couleurs de l'écran sont analysées. L'utilisateur peut en sélectionner une en cliquant avec la souris ou en appuyant sur la touche Entrée. Appuyer sur Échap rétablit la dernière couleur sélectionnée avant l'activation de ce mode.

L'exemple « Standard Dialogs » montre comment utiliser QColorDialog ainsi que d’autres boîtes de dialogue intégrées à Qt.

Une boîte de dialogue de couleurs dans le style du widget Fusion.

Voir également QColor, QFileDialog, QFontDialog et l’exemple « Standard Dialogs ».

Documentation sur les types de membres

enum QColorDialog::ColorDialogOption
flags QColorDialog::ColorDialogOptions

Cette énumération définit diverses options qui influent sur l'apparence d'une boîte de dialogue de couleurs.

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 « boîtes de dialogue en temps réel ».)
QColorDialog::NoEyeDropperButton0x00000008Masque le bouton « Eye Dropper ». Cette valeur a été ajoutée dans Qt 6.6.
QColorDialog::DontUseNativeDialog0x00000004Utilise la boîte de dialogue de couleur standard de Qt à la place de celle native du système d'exploitation.

Le type `ColorDialogOptions` est un `typedef` pour ` QFlags<ColorDialogOption>`. Il stocke une combinaison OR 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 de notification :

void currentColorChanged(const QColor &color)

options : ColorDialogOptions

Cette propriété regroupe les différentes options qui influent sur l'apparence et le comportement de la boîte de dialogue

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

Les options doivent être définies avant l’affichage de la boîte de dialogue. Leur définition alors que la boîte de dialogue est visible ne garantit pas un effet immédiat sur celle-ci (selon l’option et la plateforme).

Fonctions d'accès :

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

Voir également setOption() et testOption().

Documentation des fonctions membres

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

Affiche une boîte de dialogue de sélection des couleurs avec l'parent on fournie.

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

Affiche une boîte de dialogue de couleur avec l'parent ion fournie et la couleur spécifiée initial.

[virtual noexcept] QColorDialog::~QColorDialog()

Ferme 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 également color et currentColorChanged().

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

Ce signal est émis chaque fois que la couleur actuelle change dans la boîte de dialogue. La couleur actuelle est spécifiée par color.

Remarque : signalde notification pour la propriété currentColor.

Voir également color et colorSelected().

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

Renvoie la couleur personnalisée à l'adresse index sous la forme d'une valeur de type « 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 définit son code de résultat sur ` result`. Si cette boîte de dialogue est affichée à l'aide de ` exec()`, la fonction `done()` provoque la fin de la boucle d'événements 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())

Affiche une boîte de dialogue modale de sélection de couleur avec l'title de fenêtre indiquée (ou « Sélectionner une couleur » si aucune n'est spécifiée), permet à l'utilisateur de choisir une couleur et renvoie cette couleur. La couleur est initialement définie sur initial. La boîte de dialogue est un élément 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 relie son signal « colorSelected() » au slot spécifié par « receiver » et « member ».

Le signal sera déconnecté du slot lorsque la boîte de dialogue sera fermée.

QColor QColorDialog::selectedColor() const

Renvoie la couleur sélectionnée par l'utilisateur en cliquant sur le bouton « OK » ou un bouton équivalent.

Remarque : cette couleur n'est pas toujours identique à celle contenue dans la propriété « currentColor », car l'utilisateur peut choisir différentes couleurs avant de sélectionner définitivement celle qu'il souhaite utiliser.

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

Définit la couleur personnalisée de « index » sur la valeur « QColor » color.

Remarque : cette fonction ne s'applique pas à la boîte de dialogue « Couleur native » sur la plateforme macOS. Si vous avez tout de même besoin de cette fonction, utilisez l'option QColorDialog::DontUseNativeDialog.

Voir également customColor().

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

Active l'option spécifiée si on est vrai ; sinon, désactive l'option spécifiée.

Voir également options et testOption().

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

Définit la couleur par défaut de « index » sur la valeur « QColor » color.

Remarque : cette fonction ne s'applique pas à la boîte de dialogue « Couleur native » sur la plateforme macOS. Si vous avez tout de même besoin de cette fonction, utilisez l'option QColorDialog::DontUseNativeDialog.

Voir également 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 s'affiche ; sinon, elle est masquée.

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

Renvoie la couleur standard correspondant à l'index e indiquée sous la forme d'une valeur de type « QColor ».

Voir aussi setStandardColor().

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

Renvoie « true » si l'option spécifiée est activée ; sinon, renvoie « false ».

Voir également 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.