En esta página

QColorDialog Class

La clase QColorDialog proporciona un widget de diálogo para especificar colores. Más...

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

Tipos Públicos

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

Propiedades

Funciones públicas

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

Funciones públicas reimplementadas

virtual void setVisible(bool visible) override

Señales

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

Miembros públicos estáticos

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)

Funciones protegidas reimplementadas

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

Descripción Detallada

La función del diálogo de color es permitir a los usuarios elegir colores. Por ejemplo, se puede utilizar en un programa de dibujo para permitir al usuario establecer el color del pincel.

Las funciones estáticas proporcionan diálogos de color modales.

La función estática getColor() muestra el diálogo, y permite al usuario especificar un color. Esta función también puede utilizarse para permitir a los usuarios elegir un color con un nivel de transparencia: pase la opción ShowAlphaChannel como argumento adicional.

El usuario puede almacenar customCount() diferentes colores personalizados. Los colores personalizados son compartidos por todos los diálogos de color, y recordados durante la ejecución del programa. Utilice setCustomColor() para establecer los colores personalizados, y utilice customColor() para obtenerlos.

Al pulsar el botón "Elegir color de pantalla", el cursor cambia a una cruz de pelo y se escanean los colores de la pantalla. El usuario puede elegir uno pulsando el ratón o el botón Intro. Pulsando Escape se restaura el último color seleccionado antes de entrar en este modo.

El ejemplo de Diálogos Estándar muestra cómo utilizar QColorDialog así como otros diálogos Qt incorporados.

Un diálogo de color en el estilo del widget Fusion.

Ver también QColor, QFileDialog, QFontDialog, y Ejemplo de Diálogos Estándar.

Documentación de Tipos de Miembros

enum QColorDialog::ColorDialogOption
flags QColorDialog::ColorDialogOptions

Este enum especifica varias opciones que afectan al aspecto de un diálogo de color.

ConstanteValorDescripción
QColorDialog::ShowAlphaChannel0x00000001Permite al usuario seleccionar el componente alfa de un color.
QColorDialog::NoButtons0x00000002No mostrar los botones OK y Cancel. (Útil para "diálogos en vivo").
QColorDialog::NoEyeDropperButton0x00000008Ocultar el botón Eye Dropper. Este valor se añadió en Qt 6.6.
QColorDialog::DontUseNativeDialog0x00000004Usar el diálogo de color estándar de Qt en lugar del diálogo de color nativo del sistema operativo.

El tipo ColorDialogOptions es un typedef para QFlags<ColorDialogOption>. Almacena una combinación OR de valores ColorDialogOption.

Ver también options, setOption(), testOption(), y windowModality().

Documentación de Propiedades

currentColor : QColor

Esta propiedad contiene el color actualmente seleccionado en el diálogo

Funciones de acceso:

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

Señal del notificador:

void currentColorChanged(const QColor &color)

options : ColorDialogOptions

Esta propiedad contiene las distintas opciones que afectan al aspecto del cuadro de diálogo

Por defecto, todas las opciones están desactivadas.

Las opciones deben establecerse antes de mostrar el diálogo. Establecerlas mientras el diálogo está visible no garantiza que tenga un efecto inmediato en el diálogo (dependiendo de la opción y de la plataforma).

Funciones de acceso:

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

Véase también setOption() y testOption().

Documentación de las funciones miembro

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

Construye un diálogo de color con la dirección parent.

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

Construye un diálogo de color con el parent dado y el color initial especificado.

[virtual noexcept] QColorDialog::~QColorDialog()

Destruye el diálogo de color.

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

Reimplementa: QWidget::changeEvent(QEvent *event).

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

Esta señal se emite justo después de que el usuario haya pulsado OK para seleccionar un color a utilizar. El color elegido se especifica en color.

Véase también color y currentColorChanged().

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

Esta señal se emite cada vez que cambia el color actual en el diálogo. El color actual se especifica en color.

Nota: Señal notificadora para la propiedad currentColor.

Véase también color y colorSelected().

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

Devuelve el color personalizado en el index dado como un valor QColor.

Véase también setCustomColor().

[static] int QColorDialog::customCount()

Devuelve el número de colores personalizados que admite QColorDialog. Todos los diálogos de color comparten los mismos colores personalizados.

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

Reimplementa: QDialog::done(int r).

Cierra el diálogo y establece su código de resultado a result. Si este diálogo se muestra con exec(), done() hace que el bucle de eventos local termine, y exec() devuelva result.

Véase también QDialog::done().

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

Abre un diálogo modal de color con la ventana dada title (o "Seleccionar color" si no se especifica ninguno), permite al usuario elegir un color y devuelve ese color. El color se establece inicialmente en initial. El diálogo es hijo de parent. Devuelve un color no válido (véase QColor::isValid()) si el usuario cancela el diálogo.

El argumento options permite personalizar el diálogo.

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

Abre el diálogo y conecta su señal colorSelected() a la ranura especificada por receiver y member.

La señal se desconectará de la ranura cuando se cierre el diálogo.

QColor QColorDialog::selectedColor() const

Devuelve el color que el usuario seleccionó al pulsar el botón OK o equivalente.

Nota: Este color no es siempre el mismo que el color mantenido por la propiedad currentColor ya que el usuario puede elegir diferentes colores antes de seleccionar finalmente el que va a utilizar.

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

Establece el color personalizado en index al valor de QColor color .

Nota: Esta función no se aplica al Diálogo de color nativo en la plataforma macOS. Si aún necesita esta función, utilice la opción QColorDialog::DontUseNativeDialog.

Véase también customColor().

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

Establece el option dado para que esté habilitado si on es verdadero; de lo contrario, borra el option dado.

Véase también options y testOption().

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

Establece el color estándar en index al valor QColor color .

Nota: Esta función no se aplica al Diálogo de color nativo en la plataforma macOS. Si aún así necesita esta función, utilice la opción QColorDialog::DontUseNativeDialog.

Véase también standardColor().

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

Reimplementa: QDialog::setVisible(bool visible).

Cambia la visibilidad del diálogo. Si visible es verdadero, el diálogo se muestra; en caso contrario, se oculta.

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

Devuelve el color estándar en el index dado como un valor QColor.

Véase también setStandardColor().

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

Devuelve true si el option dado está habilitado; en caso contrario, devuelve false.

Véase también options y 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.