QGraphsTheme Class
La clase QGraphsTheme proporciona un estilo visual para los gráficos. Más...
| Cabecera: | #include <QGraphsTheme> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Graphs)target_link_libraries(mytarget PRIVATE Qt6::Graphs) |
| qmake: | QT += graphs |
| En QML: | GraphsTheme |
| Hereda: | QObject y QQmlParserStatus |
- Lista de todos los miembros, incluyendo los heredados
- QGraphsTheme es parte de Qt Graphs C++ Common Classes.
Tipos Públicos
| enum class | ColorScheme { Automatic, Light, Dark } |
| enum class | ColorStyle { Uniform, ObjectGradient, RangeGradient } |
| enum class | Theme { QtGreen, QtGreenNeon, MixSeries, OrangeSeries, YellowSeries, …, UserDefined } |
Propiedades
|
|
Funciones públicas
| QGraphsLine | axisX() const |
| QFont | axisXLabelFont() const |
| QGraphsLine | axisY() const |
| QFont | axisYLabelFont() const |
| QGraphsLine | axisZ() const |
| QFont | axisZLabelFont() const |
| QColor | backgroundColor() const |
| QList<QColor> | borderColors() const |
| qreal | borderWidth() const |
| QGraphsTheme::ColorScheme | colorScheme() const |
| QGraphsTheme::ColorStyle | colorStyle() const |
| QGraphsLine | grid() const |
| bool | isBackgroundVisible() const |
| bool | isGridVisible() const |
| bool | isLabelBackgroundVisible() const |
| bool | isLabelBorderVisible() const |
| bool | isPlotAreaBackgroundVisible() const |
| QColor | labelBackgroundColor() const |
| QFont | labelFont() const |
| QColor | labelTextColor() const |
| bool | labelsVisible() const |
| QColor | multiHighlightColor() const |
| QColor | plotAreaBackgroundColor() const |
| QList<QColor> | seriesColors() const |
| QList<QLinearGradient> | seriesGradients() const |
| void | setAxisX(const QGraphsLine &newAxisX) |
| void | setAxisXLabelFont(const QFont &newAxisXLabelFont) |
| void | setAxisY(const QGraphsLine &newAxisY) |
| void | setAxisYLabelFont(const QFont &newAxisYLabelFont) |
| void | setAxisZ(const QGraphsLine &newAxisZ) |
| void | setAxisZLabelFont(const QFont &newAxisZLabelFont) |
| void | setBackgroundColor(QColor newBackgroundColor) |
| void | setBackgroundVisible(bool newBackgroundVisible) |
| void | setBorderColors(const QList<QColor> &newBorderColors) |
| void | setBorderWidth(qreal newBorderWidth) |
| void | setColorScheme(QGraphsTheme::ColorScheme newColorScheme) |
| void | setColorStyle(QGraphsTheme::ColorStyle newColorStyle) |
| void | setGrid(const QGraphsLine &newGrid) |
| void | setGridVisible(bool newGridVisibility) |
| void | setLabelBackgroundColor(QColor newLabelBackgroundColor) |
| void | setLabelBackgroundVisible(bool newLabelBackgroundVisibility) |
| void | setLabelBorderVisible(bool newLabelBorderVisibility) |
| void | setLabelFont(const QFont &newFont) |
| void | setLabelTextColor(QColor newLabelTextColor) |
| void | setLabelsVisible(bool newLabelsVisibility) |
| void | setMultiHighlightColor(QColor newMultiHighlightColor) |
| void | setPlotAreaBackgroundColor(QColor newBackgroundColor) |
| void | setPlotAreaBackgroundVisible(bool newBackgroundVisibility) |
| void | setSeriesColors(const QList<QColor> &newSeriesColors) |
| void | setSeriesGradients(const QList<QLinearGradient> &newSeriesGradients) |
| void | setSingleHighlightColor(QColor newSingleHighlightColor) |
| void | setTheme(QGraphsTheme::Theme newTheme, QGraphsTheme::ForceTheme force = ForceTheme::No) |
| QColor | singleHighlightColor() const |
| QGraphsTheme::Theme | theme() const |
Señales
| void | axisXChanged() |
| void | axisXLabelFontChanged() |
| void | axisYChanged() |
| void | axisYLabelFontChanged() |
| void | axisZChanged() |
| void | axisZLabelFontChanged() |
| void | backgroundColorChanged() |
| void | backgroundVisibleChanged() |
| void | borderColorsChanged() |
| void | borderWidthChanged() |
| void | colorSchemeChanged() |
| void | colorStyleChanged(QGraphsTheme::ColorStyle type) |
| void | gridChanged() |
| void | gridVisibleChanged() |
| void | labelBackgroundColorChanged() |
| void | labelBackgroundVisibleChanged() |
| void | labelBorderVisibleChanged() |
| void | labelFontChanged() |
| void | labelTextColorChanged() |
| void | labelsVisibleChanged() |
| void | multiHighlightColorChanged(QColor color) |
| void | multiHighlightGradientQMLChanged() |
| void | plotAreaBackgroundColorChanged() |
| void | plotAreaBackgroundVisibleChanged() |
| void | seriesColorsChanged(const QList<QColor> &list) |
| void | singleHighlightColorChanged(QColor color) |
| void | singleHighlightGradientQMLChanged() |
| void | themeChanged(QGraphsTheme::Theme theme) |
Descripción Detallada
Especifica las propiedades visuales que afectan a todo el gráfico. Existen varios temas incorporados que pueden utilizarse tal cual o modificarse libremente.
Los temas pueden crearse desde cero utilizando el valor enum UserDefined. La creación de un tema utilizando el constructor por defecto produce un nuevo tema definido por el usuario.
Personalización del tema
El tema por defecto es QtGreen, pero es posible personalizar cada propiedad.
La siguiente tabla lista las propiedades controladas por un tema y los valores por defecto para UserDefined.
| Propiedad | Valor por defecto |
|---|---|
| backgroundVisible | true |
| seriesColors | Qt::black |
| seriesGradients | QLinearGradient. Esencialmente negro. |
| colorStyle | Uniforme |
| labelFont | QFont |
| gridVisible | true |
| labelBackgroundVisible | true |
| labelBorderVisible | true |
| labelsVisible | true |
Ejemplos de uso
Crear un tema incorporado sin ninguna modificación:
QGraphsTheme *theme = new QGraphsTheme();
Creación de un tema incorporado y modificación de algunas propiedades:
QGraphsTheme *theme = new QGraphsTheme(); theme->setBackgroundVisible(false); theme->setLabelBackgroundVisible(false);
Modificación de un tema definido por el usuario. El tema se ha creado de la misma forma que en los ejemplos anteriores:
theme->setTheme(QGraphsTheme::Theme::UserDefined); theme->setBackgroundColor(QColor(QRgb(0x99ca53))); theme->setBackgroundVisible(true); QList<QColor> colors = { QColor(QRgb(0x209fdf)) }; theme->setSeriesColors(colors); theme->setColorStyle(QGraphsTheme::ColorStyle::Uniform); theme->setLabelFont(QFont(QStringLiteral("Impact"), 35)); theme->setGridVisible(true); auto gridline = theme->grid(); gridline.setMainColor(QColor(QRgb(0x99ca53))); theme->setGrid(gridline); theme->setLabelBackgroundColor(QColor(0xf6, 0xa6, 0x25, 0xa0)); theme->setLabelBackgroundVisible(true); theme->setLabelBorderVisible(true); theme->setLabelTextColor(QColor(QRgb(0x404044))); theme->setMultiHighlightColor(QColor(QRgb(0x6d5fd5))); theme->setSingleHighlightColor(QColor(QRgb(0xf6a625))); theme->setBackgroundColor(QColor(QRgb(0xffffff)));
Modificación de algunas propiedades después de que el tema se haya establecido en un gráfico:
QQuickWidget quickWidget; Q3DBarsWidgetItem bars; bars.setWidget(&quickWidget); bars.widget()->setMinimumSize(QSize(512, 512)); bars.activeTheme()->setTheme(QGraphsTheme::Theme::MixSeries); QList<QColor> color = { QColor(Qt::red) }; bars.activeTheme()->setSeriesColors(color); bars.activeTheme()->setSingleHighlightColor(Qt::yellow);
Documentación de tipos de miembros
enum class QGraphsTheme::ColorScheme
Representa el esquema de colores del gráfico.
| Constante | Valor | Descripción |
|---|---|---|
QGraphsTheme::ColorScheme::Automatic | 0 | Los colores de fondo siguen el esquema de color de la plataforma si está disponible. Si no está disponible, se utiliza el aspecto Claro. |
QGraphsTheme::ColorScheme::Light | 1 | Los colores de fondo son más claros que el color del texto, es decir, el tema es claro. |
QGraphsTheme::ColorScheme::Dark | 2 | Los colores de fondo son más oscuros que el color del texto, es decir, el tema es oscuro. |
Véase también Qt::ColorScheme.
enum class QGraphsTheme::ColorStyle
Tipos de gradiente.
| Constante | Valor | Descripción |
|---|---|---|
QGraphsTheme::ColorStyle::Uniform | 0 | Los objetos se representan en un único color. El color utilizado se especifica en las propiedades seriesColors, singleHighlightColor y multiHighlightColor. |
QGraphsTheme::ColorStyle::ObjectGradient | 1 | Los objetos se colorean utilizando un gradiente completo para cada objeto, independientemente de su altura. El gradiente utilizado se especifica en las propiedades seriesGradients, singleHighlightGradient y multiHighlightGradient. |
QGraphsTheme::ColorStyle::RangeGradient | 2 | Los objetos se colorean utilizando una parte del degradado completo determinada por la altura del objeto y su posición en el eje Y. El gradiente utilizado se especifica en las propiedades seriesGradients, singleHighlightGradient y multiHighlightGradient. |
enum class QGraphsTheme::Theme
Temas incorporados.
| Constante | Valor | Descripción |
|---|---|---|
QGraphsTheme::Theme::QtGreen | 0 | Un tema claro con verde como color base. |
QGraphsTheme::Theme::QtGreenNeon | 1 | Un tema claro con verde neón como color base. |
QGraphsTheme::Theme::MixSeries | 2 | Un tema mixto con varios colores. |
QGraphsTheme::Theme::OrangeSeries | 3 | Un tema con Naranja como color base. |
QGraphsTheme::Theme::YellowSeries | 4 | Un tema con Amarillo como color base. |
QGraphsTheme::Theme::BlueSeries | 5 | Un tema con Azul como color base. |
QGraphsTheme::Theme::PurpleSeries | 6 | Un tema con Púrpura como color base. |
QGraphsTheme::Theme::GreySeries | 7 | Un tema con Gris como color base. |
QGraphsTheme::Theme::UserDefined | 8 | Un tema definido por el usuario. Para más información, consulte Customizing Theme. |
Documentación de propiedades
axisX : QGraphsLine
Las propiedades de estilo de la línea y la etiqueta del eje X para el gráfico.
Funciones de acceso:
| QGraphsLine | axisX() const |
| void | setAxisX(const QGraphsLine &newAxisX) |
Señal del notificador:
| void | axisXChanged() |
axisXLabelFont : QFont
Esta propiedad contiene el tipo de letra que se utilizará para las etiquetas del eje x.
Funciones de acceso:
| QFont | axisXLabelFont() const |
| void | setAxisXLabelFont(const QFont &newAxisXLabelFont) |
Señal del notificador:
| void | axisXLabelFontChanged() |
axisY : QGraphsLine
Las propiedades de estilo de la línea y la etiqueta del eje Y para el gráfico.
Funciones de acceso:
| QGraphsLine | axisY() const |
| void | setAxisY(const QGraphsLine &newAxisY) |
Señal del notificador:
| void | axisYChanged() |
axisYLabelFont : QFont
Esta propiedad contiene el tipo de letra que se utilizará para las etiquetas del eje y.
Funciones de acceso:
| QFont | axisYLabelFont() const |
| void | setAxisYLabelFont(const QFont &newAxisYLabelFont) |
Señal del notificador:
| void | axisYLabelFontChanged() |
axisZ : QGraphsLine
Las propiedades de estilo de la línea y la etiqueta del eje Z para el gráfico.
Funciones de acceso:
| QGraphsLine | axisZ() const |
| void | setAxisZ(const QGraphsLine &newAxisZ) |
Señal del notificador:
| void | axisZChanged() |
axisZLabelFont : QFont
Esta propiedad contiene el tipo de letra que se utilizará para las etiquetas del eje z.
Funciones de acceso:
| QFont | axisZLabelFont() const |
| void | setAxisZLabelFont(const QFont &newAxisZLabelFont) |
Señal del notificador:
| void | axisZLabelFontChanged() |
backgroundColor : QColor
Esta propiedad contiene el color de la vista en la que se dibuja el gráfico. El valor por defecto depende de colorScheme.
Funciones de acceso:
| QColor | backgroundColor() const |
| void | setBackgroundColor(QColor newBackgroundColor) |
Señal del notificador:
| void | backgroundColorChanged() |
backgroundVisible : bool
Esta propiedad indica si el fondo es visible.
El fondo se dibuja utilizando el valor de backgroundColor. El valor por defecto es true.
Funciones de acceso:
| bool | isBackgroundVisible() const |
| void | setBackgroundVisible(bool newBackgroundVisible) |
Señal del notificador:
| void | backgroundVisibleChanged() |
[read-only] baseColors : const QQmlListProperty<QQuickGraphsColor>
La lista de colores base que se utilizarán para la serie cuando se utilice el estilo de color ColorStyle::Uniform.
[read-only] baseGradients : const QQmlListProperty<QQuickGradient>
La lista de degradados base que se utilizarán para la serie cuando se utilice el estilo de color ColorStyle::RangeGradient.
borderColors : QList<QColor>
Esta propiedad contiene la lista de colores de borde que se utilizarán para todos los objetos del gráfico, serie por serie.
Si hay más series que colores, la lista de colores se envuelve y comienza de nuevo con el primer color de la lista.
No tiene efecto inmediato si colorStyle no es Uniforme.
Funciones de acceso:
| QList<QColor> | borderColors() const |
| void | setBorderColors(const QList<QColor> &newBorderColors) |
Señal del notificador:
| void | borderColorsChanged() |
borderWidth : qreal
Esta propiedad contiene el ancho de los bordes en el gráfico si los hay El valor por defecto es 1.0.
Funciones de acceso:
| qreal | borderWidth() const |
| void | setBorderWidth(qreal newBorderWidth) |
Señal del notificador:
| void | borderWidthChanged() |
colorScheme : QGraphsTheme::ColorScheme
El esquema de colores del gráfico en uso.
Funciones de acceso:
| QGraphsTheme::ColorScheme | colorScheme() const |
| void | setColorScheme(QGraphsTheme::ColorScheme newColorScheme) |
Señal del notificador:
| void | colorSchemeChanged() |
Véase también Qt::ColorScheme.
colorStyle : QGraphsTheme::ColorStyle
El estilo de los colores del gráfico. Uno de los valores del enum QGraphsTheme::ColorStyle.
Este valor puede anularse configurando Abstract3DSeries.colorStyle explícitamente en la serie.
Nota: Esta propiedad no tiene efecto en Qt Graphs para 2D.
Funciones de acceso:
| QGraphsTheme::ColorStyle | colorStyle() const |
| void | setColorStyle(QGraphsTheme::ColorStyle newColorStyle) |
Señal del notificador:
| void | colorStyleChanged(QGraphsTheme::ColorStyle type) |
Véase también QGraphsTheme::ColorStyle.
grid : QGraphsLine
Las propiedades de estilo de la línea de la rejilla para el gráfico.
Funciones de acceso:
| QGraphsLine | grid() const |
| void | setGrid(const QGraphsLine &newGrid) |
Señal del notificador:
| void | gridChanged() |
gridVisible : bool
Esta propiedad indica si se dibujan las líneas de la rejilla.
Este valor afecta a todas las líneas de la cuadrícula. El valor por defecto es true.
Funciones de acceso:
| bool | isGridVisible() const |
| void | setGridVisible(bool newGridVisibility) |
Señal del notificador:
| void | gridVisibleChanged() |
labelBackgroundColor : QColor
Esta propiedad contiene el color del fondo de las etiquetas.
No tiene efecto si labelBackgroundVisible es false. El valor por defecto depende de colorScheme.
Funciones de acceso:
| QColor | labelBackgroundColor() const |
| void | setLabelBackgroundColor(QColor newLabelBackgroundColor) |
Señal del notificador:
| void | labelBackgroundColorChanged() |
labelBackgroundVisible : bool
Esta propiedad indica si la etiqueta se dibuja con un fondo de color o con un fondo totalmente transparente.
El valor labelBackgroundColor (incluyendo alfa) se utiliza para dibujar el fondo.
Las etiquetas con fondo se dibujan con tamaños iguales por eje en función de la etiqueta más larga, y el texto se centra en ellas. Las etiquetas sin fondo se dibujan tal cual y se alinean a la izquierda o a la derecha en función de su posición en el gráfico. El valor por defecto es true.
Funciones de acceso:
| bool | isLabelBackgroundVisible() const |
| void | setLabelBackgroundVisible(bool newLabelBackgroundVisibility) |
Señal del notificador:
| void | labelBackgroundVisibleChanged() |
labelBorderVisible : bool
Esta propiedad determina si se dibujan los bordes de las etiquetas que tienen fondo.
No tiene efecto si labelBackgroundVisible es false. El valor por defecto es true.
Funciones de acceso:
| bool | isLabelBorderVisible() const |
| void | setLabelBorderVisible(bool newLabelBorderVisibility) |
Señal de notificador:
| void | labelBorderVisibleChanged() |
labelFont : QFont
Esta propiedad contiene el tipo de letra que se utilizará para las etiquetas.
Funciones de acceso:
| QFont | labelFont() const |
| void | setLabelFont(const QFont &newFont) |
Señal del notificador:
| void | labelFontChanged() |
labelTextColor : QColor
Esta propiedad contiene el color de la fuente utilizada para las etiquetas.
Si un eje ha especificado labelTextColor explícitamente, esto no tiene efecto.
El valor por defecto depende de colorScheme.
Funciones de acceso:
| QColor | labelTextColor() const |
| void | setLabelTextColor(QColor newLabelTextColor) |
Señal del notificador:
| void | labelTextColorChanged() |
labelsVisible : bool
Esta propiedad determina si las etiquetas se dibujan o no.
Si es false, el resto de propiedades de las etiquetas no tienen ningún efecto. El valor por defecto es true.
Funciones de acceso:
| bool | labelsVisible() const |
| void | setLabelsVisible(bool newLabelsVisibility) |
Señal del notificador:
| void | labelsVisibleChanged() |
multiHighlightColor : QColor
Esta propiedad contiene el color de resaltado de los objetos seleccionados.
Se utiliza si selectionMode tiene activada la bandera QtGraphs3D::SelectionFlag::Row o QtGraphs3D::SelectionFlag::Column. El valor por defecto depende de colorScheme.
Funciones de acceso:
| QColor | multiHighlightColor() const |
| void | setMultiHighlightColor(QColor newMultiHighlightColor) |
Señal del notificador:
| void | multiHighlightColorChanged(QColor color) |
multiHighlightGradient : QQuickGradient*
Esta propiedad contiene el gradiente de resaltado de los objetos seleccionados.
Se utiliza si selectionMode tiene activada la bandera QtGraphs3D::SelectionFlag::Row o QtGraphs3D::SelectionFlag::Column. El valor por defecto depende de colorScheme.
Señal del notificador:
| void | multiHighlightGradientQMLChanged() |
plotAreaBackgroundColor : QColor
Esta propiedad contiene el color del fondo del área del gráfico. El valor por defecto depende de colorScheme.
Funciones de acceso:
| QColor | plotAreaBackgroundColor() const |
| void | setPlotAreaBackgroundColor(QColor newBackgroundColor) |
Señal del notificador:
| void | plotAreaBackgroundColorChanged() |
plotAreaBackgroundVisible : bool
Esta propiedad mantiene si el fondo del área de ploteo es visible.
El fondo se dibuja utilizando el valor de plotAreaBackgroundColor. El valor por defecto es true.
Funciones de acceso:
| bool | isPlotAreaBackgroundVisible() const |
| void | setPlotAreaBackgroundVisible(bool newBackgroundVisibility) |
Señal del notificador:
| void | plotAreaBackgroundVisibleChanged() |
seriesColors : QList<QColor>
Esta propiedad contiene la lista de colores base que se utilizarán para todos los objetos del gráfico, serie por serie.
Si hay más series que colores, la lista de colores se envuelve y comienza de nuevo con el primer color de la lista.
No tiene efecto inmediato si colorStyle no es Uniforme.
Este valor puede anularse configurando baseColor explícitamente en la serie.
Funciones de acceso:
| QList<QColor> | seriesColors() const |
| void | setSeriesColors(const QList<QColor> &newSeriesColors) |
Señal del notificador:
| void | seriesColorsChanged(const QList<QColor> &list) |
singleHighlightColor : QColor
Esta propiedad contiene el color de resaltado de un objeto seleccionado.
Se utiliza si selectionMode tiene activado el indicador QtGraphs3D::SelectionFlag::Item. El valor por defecto depende de colorScheme.
Funciones de acceso:
| QColor | singleHighlightColor() const |
| void | setSingleHighlightColor(QColor newSingleHighlightColor) |
Señal del notificador:
| void | singleHighlightColorChanged(QColor color) |
singleHighlightGradient : QQuickGradient*
Esta propiedad contiene el gradiente de resaltado de un objeto seleccionado.
Se utiliza si selectionMode tiene el indicador QtGraphs3D::SelectionFlag::Item activado. El valor por defecto depende de colorScheme.
Señal del notificador:
| void | singleHighlightGradientQMLChanged() |
theme : QGraphsTheme::Theme
Tipo del tema. Si no se define ningún tipo, el tipo es GraphsTheme.Theme.QtGreen. Cambiar el tipo de tema después de que el elemento haya sido construido cambiará todas las demás propiedades del tema a lo que especifique el tema predefinido. Al cambiar el tipo de tema del tema activo del gráfico también se restablecerán todas las series adjuntas para que utilicen el nuevo tema.
Funciones de acceso:
| QGraphsTheme::Theme | theme() const |
| void | setTheme(QGraphsTheme::Theme newTheme, QGraphsTheme::ForceTheme force = ForceTheme::No) |
Señal de aviso:
| void | themeChanged(QGraphsTheme::Theme theme) |
[read-only] themeChildren : const QQmlListProperty<QObject>
La lista de objetos hijo del tema. Se trata de una propiedad por defecto que permite especificar objetos hijo dentro del elemento Theme en QML sin utilizar explícitamente el nombre de la propiedad children.
Documentación de la función miembro
QList<QLinearGradient> QGraphsTheme::seriesGradients() const
Devuelve la lista de gradientes de serie utilizados por el tema.
Véase también setSeriesGradients().
void QGraphsTheme::setSeriesGradients(const QList<QLinearGradient> &newSeriesGradients)
Establece newSeriesGradients como gradientes de serie para el tema.
Véase también seriesGradients().
© 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.