Sur cette page

ColorDialog QML Type

Une boîte de dialogue couleur native. Plus...

Import Statement: import Qt.labs.platform
Inherits:

Dialog

Status: Deprecated since 6.9

Ce type est obsolète depuis Qt Labs Platform 6.9. Il est fortement déconseillé de l'utiliser dans un nouveau code.

Propriétés

Description détaillée

Utilisez plutôt QtQuick.Dialogs ColorDialog.

Le type ColorDialog fournit une API QML pour les boîtes de dialogue de couleur de la plate-forme native.

Un dialogue sur les couleurs natives

Pour afficher une boîte de dialogue couleur, construisez une instance de ColorDialog, définissez les propriétés souhaitées et appelez open(). La propriété currentColor peut être utilisée pour déterminer la couleur actuellement sélectionnée dans la boîte de dialogue. La propriété color n'est mise à jour qu'une fois la sélection finale effectuée en acceptant la boîte de dialogue.

MenuItem {
    text: "Color"
    onTriggered: colorDialog.open()
}

ColorDialog {
    id: colorDialog
    currentColor: document.color
}

MyDocument {
    id: document
    color: colorDialog.color
}

Disponibilité

Une boîte de dialogue de couleur de plate-forme native est actuellement disponible sur les plates-formes suivantes :

  • iOS
  • Linux (avec le thème de plateforme GTK+)
  • macOS

Le module Qt Labs Platform utilise Qt Widgets comme solution de repli sur les plateformes qui ne disposent pas d'une implémentation native. Par conséquent, les applications qui utilisent des types du module Qt Labs Platform doivent être liées à QtWidgets et utiliser QApplication au lieu de QGuiApplication.

Pour établir un lien avec la bibliothèque QtWidgets, ajoutez ce qui suit à votre fichier de projet qmake :

QT += widgets

Créez une instance de QApplication dans main():

#include <QApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    return app.exec();
}

Note : La compatibilité des types dans les modules Qt.labs n'est pas garantie dans les versions futures.

Voir aussi QtQuick.Dialogs::ColorDialog.

Documentation sur les propriétés

color : color

Cette propriété contient la couleur finale acceptée.

Contrairement à la propriété currentColor, la propriété color n'est pas mise à jour pendant que l'utilisateur sélectionne des couleurs dans la boîte de dialogue, mais seulement après la sélection finale. C'est-à-dire lorsque l'utilisateur a cliqué sur OK pour accepter une couleur. Il est également possible de gérer le signal accepted() pour obtenir la sélection finale.

Voir également currentColor et accepted().

currentColor : color

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

Contrairement à la propriété color, la propriété currentColor est mise à jour pendant que l'utilisateur sélectionne des couleurs dans la boîte de dialogue, même avant que la sélection finale n'ait été effectuée.

Voir également color.

options : flags

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

Options disponibles :

ConstanteDescription
ColorDialog.ShowAlphaChannelPermet à l'utilisateur de sélectionner la composante alpha d'une couleur.
ColorDialog.NoButtonsNe pas afficher les boutons OK et Cancel (utile pour les "dialogues en direct").

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