Auf dieser Seite

QColorDialog Class

Die Klasse „QColorDialog“ stellt ein Dialog-Widget zur Festlegung von Farben bereit. Mehr...

Header: #include <QColorDialog>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Erbt von: QDialog

Öffentliche Typen

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

Eigenschaften

Öffentliche Funktionen

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

Neu implementierte öffentliche Funktionen

virtual void setVisible(bool visible) override

Signale

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

Statische öffentliche Mitglieder

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)

Neu implementierte geschützte Funktionen

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

Ausführliche Beschreibung

Die Funktion des Farbdialogs besteht darin, Benutzern die Auswahl von Farben zu ermöglichen. Sie können dies beispielsweise in einem Zeichenprogramm verwenden, um dem Benutzer die Einstellung der Pinselfarbe zu ermöglichen.

Die statischen Funktionen stellen modale Farbdialoge bereit.

Die statische Funktion ` getColor()` zeigt den Dialog an und ermöglicht es dem Benutzer, eine Farbe festzulegen. Diese Funktion kann auch verwendet werden, um Benutzern die Auswahl einer Farbe mit einem Transparenzgrad zu ermöglichen: Übergeben Sie dazu die Option ` ShowAlphaChannel ` als zusätzliches Argument.

Der Benutzer kann mit ` customCount()` verschiedene benutzerdefinierte Farben speichern. Die benutzerdefinierten Farben werden von allen Farbdialogen gemeinsam genutzt und während der Ausführung des Programms beibehalten. Verwenden Sie ` setCustomColor()`, um die benutzerdefinierten Farben festzulegen, und ` customColor()`, um sie abzurufen.

Beim Klicken auf die Schaltfläche „Bildschirmfarbe auswählen“ verwandelt sich der Cursor in ein Fadenkreuz, und die Farben auf dem Bildschirm werden abgetastet. Der Benutzer kann eine Farbe durch Klicken mit der Maus oder durch Drücken der Eingabetaste auswählen. Durch Drücken der Escape-Taste wird die zuletzt vor dem Aufrufen dieses Modus ausgewählte Farbe wiederhergestellt.

Das Beispiel „Standard Dialogs“ zeigt, wie man QColorDialog sowie andere integrierte Qt-Dialoge verwendet.

Ein Farbdialog im Fusion-Widget-Stil.

Siehe auch QColor, QFileDialog, QFontDialog sowie das Beispiel „Standard Dialogs“.

Dokumentation zu den Mitgliedstypen

enum QColorDialog::ColorDialogOption
flags QColorDialog::ColorDialogOptions

Diese Enumeration legt verschiedene Optionen fest, die das Erscheinungsbild eines Farbdialogs beeinflussen.

KonstanteWertBeschreibung
QColorDialog::ShowAlphaChannel0x00000001Ermöglicht dem Benutzer die Auswahl der Alpha-Komponente einer Farbe.
QColorDialog::NoButtons0x00000002Die Schaltflächen „ OK “ und „ Cancel “ werden nicht angezeigt. (Nützlich für „Live-Dialoge“.)
QColorDialog::NoEyeDropperButton0x00000008Die Schaltfläche „ Eye Dropper “ ausblenden. Dieser Wert wurde in Qt 6.6 hinzugefügt.
QColorDialog::DontUseNativeDialog0x00000004Verwenden Sie den Standard-Farbdialog von Qt anstelle des nativen Farbdialogs des Betriebssystems.

Der Typ „ColorDialogOptions“ ist ein „typedef“ für „QFlags<ColorDialogOption>“. Er speichert eine OR-Kombination von „ColorDialogOption“-Werten.

Siehe auch „ options“ , „ setOption()“, „ testOption()“ und „ windowModality()“.

Dokumentation zur Eigenschaft

currentColor : QColor

Diese Eigenschaft enthält die aktuell im Dialogfeld ausgewählte Farbe

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void currentColorChanged(const QColor &color)

options : ColorDialogOptions

Diese Eigenschaft enthält die verschiedenen Optionen, die das Erscheinungsbild des Dialogfelds beeinflussen

Standardmäßig sind alle Optionen deaktiviert.

Die Optionen sollten vor dem Anzeigen des Dialogfelds festgelegt werden. Es ist nicht garantiert, dass das Festlegen der Optionen bei sichtbarem Dialogfeld sofort Auswirkungen auf das Dialogfeld hat (abhängig von der Option und der Plattform).

Zugriffsfunktionen:

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

Siehe auch setOption() und testOption().

Dokumentation zu den Mitgliedsfunktionen

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

Erstellt einen Farbdialog mit dem angegebenen „ parent “.

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

Erzeugt einen Farbdialog mit dem angegebenen „ parent “ und der angegebenen Farbe „ initial “.

[virtual noexcept] QColorDialog::~QColorDialog()

Schließt den Farbdialog.

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

Umsetzt: ` QWidget::changeEvent(QEvent *event)`.

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

Dieses Signal wird ausgelöst, sobald der Benutzer auf „ OK “ geklickt hat, um eine Farbe auszuwählen. Die ausgewählte Farbe wird durch „ color “ angegeben.

Siehe auch „color“ und „ currentColorChanged()“.

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

Dieses Signal wird immer dann ausgelöst, wenn sich die aktuelle Farbe im Dialogfeld ändert. Die aktuelle Farbe wird durch „ color “ festgelegt.

Hinweis: Notifier -Signal für die Eigenschaft ` currentColor`.

Siehe auch „color“ und „ colorSelected()“.

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

Gibt die benutzerdefinierte Farbe unter der angegebenen Adresse „ index “ als Wert vom Typ „ QColor “ zurück.

Siehe auch setCustomColor().

[static] int QColorDialog::customCount()

Gibt die Anzahl der von QColorDialog unterstützten benutzerdefinierten Farben zurück. Alle Farbdialoge verwenden dieselben benutzerdefinierten Farben.

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

Implementiert: ` QDialog::done(int r)`.

Schließt den Dialog und setzt dessen Ergebniscode auf „ result “. Wenn dieser Dialog mit „ exec()“ angezeigt wurde, bewirkt „done()“, dass die lokale Ereignisschleife beendet wird und „ exec()“ den Wert „ result “ zurückgibt.

Siehe auch „ QDialog::done()“.

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

Öffnet einen modalen Farbdialog mit dem angegebenen Fenster- title (oder „Farbe auswählen“, falls kein angegeben ist), lässt den Benutzer eine Farbe auswählen und gibt diese Farbe zurück. Die Farbe ist zunächst auf initial gesetzt. Der Dialog ist ein untergeordnetes Element von parent. Er gibt eine ungültige Farbe (siehe QColor::isValid()) zurück, wenn der Benutzer den Dialog abbricht.

Mit dem Argument „ options “ können Sie den Dialog anpassen.

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

Öffnet das Dialogfeld und verbindet dessen Signal „ colorSelected()“ mit dem Slot, der durch „ receiver “ und „ member “ angegeben wird.

Das Signal wird vom Slot getrennt, sobald das Dialogfeld geschlossen wird.

QColor QColorDialog::selectedColor() const

Gibt die Farbe zurück, die der Benutzer durch Klicken auf die Schaltfläche „ OK “ oder eine entsprechende Schaltfläche ausgewählt hat.

Hinweis: Diese Farbe entspricht nicht immer der Farbe, die in der Eigenschaft „ currentColor “ gespeichert ist, da der Benutzer verschiedene Farben auswählen kann, bevor er sich endgültig für eine entscheidet.

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

Setzt die benutzerdefinierte Farbe unter „ index “ auf den Wert „ QColor “ color.

Hinweis: Diese Funktion gilt nicht für den nativen Farbdialog auf der macOS-Plattform. Wenn Sie diese Funktion dennoch benötigen, verwenden Sie die Option „ QColorDialog::DontUseNativeDialog “.

Siehe auch „ customColor()“.

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

Setzt die angegebene Eigenschaft „ option “ auf „enabled“, wenn „ on “ den Wert „true“ hat; andernfalls wird die angegebene Eigenschaft „ option “ zurückgesetzt.

Siehe auch „ options “ und „ testOption()“.

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

Setzt die Standardfarbe unter „ index “ auf den Wert „ QColor “ color.

Hinweis: Diese Funktion gilt nicht für den nativen Farbdialog auf der macOS-Plattform. Wenn Sie diese Funktion dennoch benötigen, verwenden Sie die Option „ QColorDialog::DontUseNativeDialog “.

Siehe auch standardColor().

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

Implementiert: ` QDialog::setVisible` (bool visible).

Ändert die Sichtbarkeit des Dialogfelds. Ist visible wahr, wird das Dialogfeld angezeigt; andernfalls wird es ausgeblendet.

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

Gibt die Standardfarbe an der angegebenen Koordinate ` index ` als Wert vom Typ ` QColor ` zurück.

Siehe auch setStandardColor().

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

Gibt „ true “ zurück, wenn die angegebene Funktion „ option “ aktiviert ist; andernfalls wird „false“ zurückgegeben.

Siehe auch „ options “ und „ 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.