QColorDialog Class

Die Klasse QColorDialog bietet ein Dialog-Widget zum Festlegen von Farben. Mehr...

Kopfzeile: #include <QColorDialog>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Vererbt: 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

Reimplementierte ö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)

Reimplementierte geschützte Funktionen

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

Ausführliche Beschreibung

Die Funktion des Farbdialogs besteht darin, dem Benutzer die Möglichkeit zu geben, Farben auszuwählen. Man könnte ihn zum Beispiel in einem Zeichenprogramm verwenden, um dem Benutzer die Möglichkeit zu geben, die Pinselfarbe einzustellen.

Die statischen Funktionen stellen modale Farbdialoge bereit.

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

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

Wenn Sie auf die Schaltfläche "Bildschirmfarbe auswählen" klicken, verwandelt sich der Cursor in ein Fadenkreuz und die Farben auf dem Bildschirm werden gescannt. Der Benutzer kann eine Farbe auswählen, indem er mit der Maus oder der Eingabetaste klickt. Durch Drücken der Escape-Taste wird die zuletzt gewählte Farbe wiederhergestellt, bevor dieser Modus aktiviert wurde.

Das Beispiel Standarddialoge zeigt, wie man QColorDialog und andere integrierte Qt-Dialoge verwendet.

A color dialog in the Fusion widget style.

Siehe auch QColor, QFileDialog, QFontDialog, und Standarddialogs Beispiel.

Dokumentation der Mitgliedstypen

enum QColorDialog::ColorDialogOption
flags QColorDialog::ColorDialogOptions

Diese Aufzählung gibt verschiedene Optionen an, die das Aussehen eines Farbdialogs beeinflussen.

KonstanteWertBeschreibung
QColorDialog::ShowAlphaChannel0x00000001Erlaubt dem Benutzer, die Alpha-Komponente einer Farbe auszuwählen.
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 betriebssystemeigenen Farbdialogs.

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 der Eigenschaft

currentColor : QColor

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

Zugriffsfunktionen:

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

Melder-Signal:

void currentColorChanged(const QColor &color)

options : ColorDialogOptions

Diese Eigenschaft enthält die verschiedenen Optionen, die das Aussehen des Dialogs beeinflussen

Standardmäßig sind alle Optionen deaktiviert.

Die Optionen sollten vor dem Anzeigen des Dialogs eingestellt werden. Wenn sie gesetzt werden, während der Dialog sichtbar ist, ist nicht garantiert, dass sie eine unmittelbare Auswirkung auf den Dialog haben (abhängig von der Option und der Plattform).

Zugriffsfunktionen:

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

Siehe auch setOption() und testOption().

Dokumentation der Mitgliedsfunktionen

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

Konstruiert einen Farbdialog mit der angegebenen parent.

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

Konstruiert einen Farbdialog mit der angegebenen parent und der angegebenen initial Farbe.

[virtual noexcept] QColorDialog::~QColorDialog()

Zerstört den Farbdialog.

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

Reimplements: QWidget::changeEvent(QEvent *Event).

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

Dieses Signal wird ausgegeben, kurz nachdem der Benutzer auf OK geklickt hat, um eine Farbe auszuwählen, die verwendet werden soll. Die gewählte Farbe wird durch color festgelegt.

Siehe auch color und currentColorChanged().

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

Dieses Signal wird ausgegeben, wenn sich die aktuelle Farbe im Dialog ändert. Die aktuelle Farbe wird durch color festgelegt.

Hinweis: Benachrichtigungssignal für die Eigenschaft currentColor.

Siehe auch Farbe und colorSelected().

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

Liefert die benutzerdefinierte Farbe auf der angegebenen index als QColor Wert.

Siehe auch setCustomColor().

[static] int QColorDialog::customCount()

Gibt die Anzahl der benutzerdefinierten Farben zurück, die von QColorDialog unterstützt werden. Alle Farbdialoge verwenden die gleichen benutzerdefinierten Farben.

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

Reimplements: QDialog::done(int r).

Schließt den Dialog und setzt seinen Ergebniscode auf result. Wenn dieser Dialog mit exec() angezeigt wird, beendet done() die lokale Ereignisschleife, und exec() gibt result zurück.

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 wählen", wenn keine angegeben ist), lässt den Benutzer eine Farbe auswählen und gibt diese zurück. Die Farbe wird anfänglich auf initial gesetzt. Der Dialog ist ein Kind von parent. Er gibt eine ungültige Farbe zurück (siehe QColor::isValid()), wenn der Benutzer den Dialog abbricht.

Mit dem Argument options können Sie das Dialogfeld anpassen.

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

Öffnet den Dialog und verbindet sein Signal colorSelected() mit dem durch receiver und member angegebenen Slot.

Das Signal wird vom Slot getrennt, wenn 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 stimmt nicht immer mit der Farbe überein, die in der Eigenschaft currentColor enthalten ist, da der Benutzer verschiedene Farben auswählen kann, bevor er die zu verwendende Farbe auswählt.

[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 Native Color Dialog 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 das angegebene option auf aktiv, wenn on wahr ist; andernfalls wird das angegebene option gelöscht.

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 Native Color Dialog 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)

Reimplements: QDialog::setVisible(bool visible).

Ändert die Sichtbarkeit des Dialogs. Wenn visible true ist, wird das Dialogfeld angezeigt, andernfalls wird es ausgeblendet.

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

Liefert die Standardfarbe an der angegebenen index als QColor Wert.

Siehe auch setStandardColor().

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

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

Siehe auch options und setOption().

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