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 |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QColorDialog ist Teil der Standard-Dialoge.
Öffentliche Typen
enum | ColorDialogOption { ShowAlphaChannel, NoButtons, NoEyeDropperButton, DontUseNativeDialog } |
flags | ColorDialogOptions |
Eigenschaften
- currentColor : QColor
- options : ColorDialogOptions
Ö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.
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.
Konstante | Wert | Beschreibung |
---|---|---|
QColorDialog::ShowAlphaChannel | 0x00000001 | Erlaubt dem Benutzer, die Alpha-Komponente einer Farbe auszuwählen. |
QColorDialog::NoButtons | 0x00000002 | Die Schaltflächen OK und Cancel werden nicht angezeigt. (Nützlich für "Live-Dialoge".) |
QColorDialog::NoEyeDropperButton | 0x00000008 | Die Schaltfläche Eye Dropper ausblenden. Dieser Wert wurde in Qt 6.6 hinzugefügt. |
QColorDialog::DontUseNativeDialog | 0x00000004 | Verwenden 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.
© 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.