Auf dieser Seite

QGraphsTheme Class

Die Klasse `QGraphsTheme` stellt einen visuellen Stil für Diagramme bereit. Mehr...

Kopfzeile: #include <QGraphsTheme>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
In QML: GraphsTheme
Erbt von:QObject und QQmlParserStatus

Öffentliche Typen

enum class ColorScheme { Automatic, Light, Dark }
enum class ColorStyle { Uniform, ObjectGradient, RangeGradient }
enum class Theme { QtGreen, QtGreenNeon, MixSeries, OrangeSeries, YellowSeries, …, UserDefined }

Eigenschaften

Öffentliche Funktionen

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

Signale

Ausführliche Beschreibung

Legt visuelle Eigenschaften fest, die sich auf das gesamte Diagramm auswirken. Es gibt mehrere integrierte Designs, die unverändert verwendet oder frei angepasst werden können.

Themen können mithilfe des Enum-Werts „ UserDefined “ von Grund auf neu erstellt werden. Das Erstellen eines Themas mit dem Standardkonstruktor erzeugt ein neues benutzerdefiniertes Thema.

Anpassen des Designs

Das Standarddesign ist „ QtGreen “, aber jede Eigenschaft kann individuell angepasst werden.

Die folgende Tabelle listet die von einem Design gesteuerten Eigenschaften sowie die Standardwerte für „ UserDefined “ auf.

EigenschaftStandardwert
backgroundVisibletrue
seriesColorsQt::black
seriesGradientsQLinearGradient. Im Wesentlichen vollständig schwarz.
colorStyleEinheitlich
labelFontQFont
gridVisibletrue
labelBackgroundVisibletrue
labelBorderVisibletrue
labelsVisibletrue

Anwendungsbeispiele

Erstellen eines integrierten Designs ohne Änderungen:

QGraphsTheme *theme = new QGraphsTheme();

Erstellen eines integrierten Themes und Anpassen einiger Eigenschaften:

QGraphsTheme *theme = new QGraphsTheme();
theme->setBackgroundVisible(false);
theme->setLabelBackgroundVisible(false);

Anpassen eines benutzerdefinierten Themas. Das Thema wurde auf dieselbe Weise erstellt wie in den vorherigen Codeausschnitten:

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)));

Ändern einiger Eigenschaften, nachdem das Thema einem Diagramm zugewiesen wurde:

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);

Dokumentation zum Mitgliedstyp

enum class QGraphsTheme::ColorScheme

Stellt das Farbschema des Diagramms dar.

KonstanteWertBeschreibung
QGraphsTheme::ColorScheme::Automatic0Die Hintergrundfarben richten sich nach dem Farbschema der Plattform, sofern verfügbar. Ist dieses nicht verfügbar, wird das helle Erscheinungsbild verwendet.
QGraphsTheme::ColorScheme::Light1Die Hintergrundfarben sind heller als die Textfarbe, d. h., das Design ist hell.
QGraphsTheme::ColorScheme::Dark2Die Hintergrundfarben sind dunkler als die Textfarbe, d. h., das Design ist dunkel.

Siehe auch Qt::ColorScheme.

enum class QGraphsTheme::ColorStyle

Gradiententypen.

KonstantWertBeschreibung
QGraphsTheme::ColorStyle::Uniform0Objekte werden in einer einzigen Farbe dargestellt. Die verwendete Farbe wird in den Eigenschaften „ seriesColors “, „ singleHighlightColor “ und „ multiHighlightColor “ festgelegt.
QGraphsTheme::ColorStyle::ObjectGradient1Objekte werden unabhängig von ihrer Höhe mit einem vollständigen Farbverlauf eingefärbt. Der verwendete Farbverlauf wird in den Eigenschaften „ seriesGradients “, „ singleHighlightGradient “ und „ multiHighlightGradient “ festgelegt.
QGraphsTheme::ColorStyle::RangeGradient2Objekte werden mit einem Teil des vollständigen Farbverlaufs eingefärbt, der durch die Höhe des Objekts und seine Position auf der Y-Achse bestimmt wird. Der verwendete Farbverlauf wird in den Eigenschaften „ seriesGradients “, „ singleHighlightGradient “ und „ multiHighlightGradient “ festgelegt.

enum class QGraphsTheme::Theme

Integrierte Designs.

KonstanteWertBeschreibung
QGraphsTheme::Theme::QtGreen0Ein helles Design mit Grün als Grundfarbe.
QGraphsTheme::Theme::QtGreenNeon1Ein helles Design mit Neon-Grün als Grundfarbe.
QGraphsTheme::Theme::MixSeries2Ein gemischtes Design mit verschiedenen Farben.
QGraphsTheme::Theme::OrangeSeries3Ein Design mit Orange als Grundfarbe.
QGraphsTheme::Theme::YellowSeries4Ein Design mit Gelb als Grundfarbe.
QGraphsTheme::Theme::BlueSeries5Ein Design mit Blau als Grundfarbe.
QGraphsTheme::Theme::PurpleSeries6Ein Design mit Lila als Grundfarbe.
QGraphsTheme::Theme::GreySeries7Ein Design mit Grau als Grundfarbe.
QGraphsTheme::Theme::UserDefined8Ein benutzerdefiniertes Design. Weitere Informationen finden Sie unter Customizing Theme.

Dokumentation zu den Eigenschaften

axisX : QGraphsLine

Die Eigenschaften zur Gestaltung der X-Achsenlinie und der Beschriftung für das Diagramm.

Zugriffsfunktionen:

QGraphsLine axisX() const
void setAxisX(const QGraphsLine &newAxisX)

Benachrichtigungssignal:

void axisXChanged()

axisXLabelFont : QFont

Diese Eigenschaft legt die Schriftart fest, die für Beschriftungen auf der x-Achse verwendet werden soll.

Zugriffsfunktionen:

QFont axisXLabelFont() const
void setAxisXLabelFont(const QFont &newAxisXLabelFont)

Benachrichtigungssignal:

void axisXLabelFontChanged()

axisY : QGraphsLine

Die Eigenschaften zur Gestaltung der Y-Achsenlinie und der Beschriftung für das Diagramm.

Zugriffsfunktionen:

QGraphsLine axisY() const
void setAxisY(const QGraphsLine &newAxisY)

Benachrichtigungssignal:

void axisYChanged()

axisYLabelFont : QFont

Diese Eigenschaft legt die Schriftart fest, die für Beschriftungen auf der y-Achse verwendet werden soll.

Zugriffsfunktionen:

QFont axisYLabelFont() const
void setAxisYLabelFont(const QFont &newAxisYLabelFont)

Benachrichtigungssignal:

void axisYLabelFontChanged()

axisZ : QGraphsLine

Die Eigenschaften für die Darstellung der Z-Achsenlinie und der Beschriftung im Diagramm.

Zugriffsfunktionen:

QGraphsLine axisZ() const
void setAxisZ(const QGraphsLine &newAxisZ)

Benachrichtigungssignal:

void axisZChanged()

axisZLabelFont : QFont

Diese Eigenschaft legt die Schriftart fest, die für Beschriftungen auf der z-Achse verwendet werden soll.

Zugriffsfunktionen:

QFont axisZLabelFont() const
void setAxisZLabelFont(const QFont &newAxisZLabelFont)

Benachrichtigungssignal:

void axisZLabelFontChanged()

backgroundColor : QColor

Diese Eigenschaft enthält die Farbe der Ansicht, in die das Diagramm gezeichnet wird. Der Standardwert hängt von „ colorScheme “ ab.

Zugriffsfunktionen:

QColor backgroundColor() const
void setBackgroundColor(QColor newBackgroundColor)

Notifier-Signal:

void backgroundColorChanged()

backgroundVisible : bool

Diese Eigenschaft legt fest, ob der Hintergrund sichtbar ist.

Der Hintergrund wird anhand des Werts von ` backgroundColor` gezeichnet. Der Standardwert ist ` true`.

Zugriffsfunktionen:

bool isBackgroundVisible() const
void setBackgroundVisible(bool newBackgroundVisible)

Notifier-Signal:

void backgroundVisibleChanged()

[read-only] baseColors : const QQmlListProperty<QQuickGraphsColor>

Die Liste der Grundfarben, die für die Serie verwendet werden sollen, wenn der Farbstil „ ColorStyle::Uniform “ zum Einsatz kommt.

[read-only] baseGradients : const QQmlListProperty<QQuickGradient>

Die Liste der Basisgradienten, die für die Serie verwendet werden sollen, wenn der Farbstil „ ColorStyle::RangeGradient “ verwendet wird.

borderColors : QList<QColor>

Diese Eigenschaft enthält die Liste der Rahmenfarben, die für alle Objekte im Diagramm verwendet werden sollen, und zwar Reihe für Reihe.

Wenn es mehr Reihen als Farben gibt, wird die Farbliste umgebrochen und beginnt erneut mit der ersten Farbe in der Liste.

Hat keine unmittelbare Auswirkung, wenn „ colorStyle “ nicht auf „Uniform“ gesetzt ist.

Zugriffsfunktionen:

QList<QColor> borderColors() const
void setBorderColors(const QList<QColor> &newBorderColors)

Benachrichtigungssignal:

void borderColorsChanged()

borderWidth : qreal

Diese Eigenschaft gibt die Breite der Rahmen im Diagramm an, sofern vorhanden. Der Standardwert lautet „ 1.0 “.

Zugriffsfunktionen:

qreal borderWidth() const
void setBorderWidth(qreal newBorderWidth)

Benachrichtigungssignal:

void borderWidthChanged()

colorScheme : QGraphsTheme::ColorScheme

Das Farbschema des aktuellen Diagramms.

Zugriffsfunktionen:

QGraphsTheme::ColorScheme colorScheme() const
void setColorScheme(QGraphsTheme::ColorScheme newColorScheme)

Benachrichtigungssignal:

void colorSchemeChanged()

Siehe auch Qt::ColorScheme.

colorStyle : QGraphsTheme::ColorStyle

Der Stil der Diagrammfarben. Einer der Aufzählungswerte von „ QGraphsTheme::ColorStyle “.

Dieser Wert kann überschrieben werden, indem „ Abstract3DSeries.colorStyle “ in der Reihe explizit festgelegt wird.

Hinweis: Diese Eigenschaft hat in „ Qt Graphs “ für 2D keine Auswirkung.

Zugriffsfunktionen:

QGraphsTheme::ColorStyle colorStyle() const
void setColorStyle(QGraphsTheme::ColorStyle newColorStyle)

Benachrichtigungssignal:

void colorStyleChanged(QGraphsTheme::ColorStyle type)

Siehe auch „ QGraphsTheme::ColorStyle “.

grid : QGraphsLine

Die Eigenschaften zur Gestaltung der Gitterlinien für das Diagramm.

Zugriffsfunktionen:

QGraphsLine grid() const
void setGrid(const QGraphsLine &newGrid)

Benachrichtigungssignal:

void gridChanged()

gridVisible : bool

Diese Eigenschaft legt fest, ob die Gitterlinien gezeichnet werden.

Dieser Wert wirkt sich auf alle Gitterlinien aus. Der Standardwert lautet „ true “.

Zugriffsfunktionen:

bool isGridVisible() const
void setGridVisible(bool newGridVisibility)

Benachrichtigungssignal:

void gridVisibleChanged()

labelBackgroundColor : QColor

Diese Eigenschaft legt die Farbe des Etikettenhintergrunds fest.

Hat keine Auswirkung, wenn „ labelBackgroundVisible “ auf „ false “ gesetzt ist. Der Standardwert hängt von „ colorScheme “ ab.

Zugriffsfunktionen:

QColor labelBackgroundColor() const
void setLabelBackgroundColor(QColor newLabelBackgroundColor)

Notifier-Signal:

void labelBackgroundColorChanged()

labelBackgroundVisible : bool

Diese Eigenschaft gilt unabhängig davon, ob die Beschriftung mit einem farbigen Hintergrund oder mit einem vollständig transparenten Hintergrund gezeichnet wird.

Für die Darstellung des Hintergrunds wird der Wert „ labelBackgroundColor “ (einschließlich Alpha) verwendet.

Beschriftungen mit Hintergrund werden je nach Achse in derselben Größe gezeichnet, basierend auf der längsten Beschriftung, und der Text wird darin zentriert. Beschriftungen ohne Hintergrund werden unverändert gezeichnet und je nach ihrer Position im Diagramm links- oder rechtsbündig ausgerichtet. Der Standardwert ist „ true “.

Zugriffsfunktionen:

bool isLabelBackgroundVisible() const
void setLabelBackgroundVisible(bool newLabelBackgroundVisibility)

Benachrichtigungssignal:

void labelBackgroundVisibleChanged()

labelBorderVisible : bool

Diese Eigenschaft legt fest, ob für Beschriftungen mit Hintergrund Rahmen gezeichnet werden.

Hat keine Auswirkung, wenn „ labelBackgroundVisible “ auf „ false “ gesetzt ist. Der Standardwert ist „ true “.

Zugriffsfunktionen:

bool isLabelBorderVisible() const
void setLabelBorderVisible(bool newLabelBorderVisibility)

Notifier-Signal:

void labelBorderVisibleChanged()

labelFont : QFont

Diese Eigenschaft legt die Schriftart fest, die für Beschriftungen verwendet werden soll.

Zugriffsfunktionen:

QFont labelFont() const
void setLabelFont(const QFont &newFont)

Benachrichtigungssignal:

void labelFontChanged()

labelTextColor : QColor

Diese Eigenschaft legt die Farbe der für Beschriftungen verwendeten Schriftart fest.

Wenn für eine Achse explizit „ labelTextColor “ angegeben wurde, hat dies keine Auswirkung.

Der Standardwert hängt von ` colorScheme` ab.

Zugriffsfunktionen:

QColor labelTextColor() const
void setLabelTextColor(QColor newLabelTextColor)

Benachrichtigungssignal:

void labelTextColorChanged()

labelsVisible : bool

Diese Eigenschaft legt fest, ob Beschriftungen überhaupt gezeichnet werden.

Ist diese Eigenschaft auf „ false “ gesetzt, haben alle anderen Beschriftungseigenschaften keine Auswirkung. Der Standardwert ist „ true “.

Zugriffsfunktionen:

bool labelsVisible() const
void setLabelsVisible(bool newLabelsVisibility)

Benachrichtigungssignal:

void labelsVisibleChanged()

multiHighlightColor : QColor

Diese Eigenschaft enthält die Hervorhebungsfarbe für ausgewählte Objekte.

Wird verwendet, wenn für „ selectionMode “ das Flag „ QtGraphs3D::SelectionFlag::Row “ oder „ QtGraphs3D::SelectionFlag::Column “ gesetzt ist. Der Standardwert hängt von „ colorScheme “ ab.

Zugriffsfunktionen:

QColor multiHighlightColor() const
void setMultiHighlightColor(QColor newMultiHighlightColor)

Notifier-Signal:

void multiHighlightColorChanged(QColor color)

multiHighlightGradient : QQuickGradient*

Diese Eigenschaft enthält den Hervorhebungsverlauf für ausgewählte Objekte.

Wird verwendet, wenn für „ selectionMode “ das Flag „ QtGraphs3D::SelectionFlag::Row “ oder „ QtGraphs3D::SelectionFlag::Column “ gesetzt ist. Der Standardwert hängt von „ colorScheme “ ab.

Benachrichtigungssignal:

void multiHighlightGradientQMLChanged()

plotAreaBackgroundColor : QColor

Diese Eigenschaft legt die Farbe des Hintergrunds des Diagrammbereichs fest. Der Standardwert hängt von „ colorScheme “ ab.

Zugriffsfunktionen:

QColor plotAreaBackgroundColor() const
void setPlotAreaBackgroundColor(QColor newBackgroundColor)

Notifier-Signal:

void plotAreaBackgroundColorChanged()

plotAreaBackgroundVisible : bool

Diese Eigenschaft legt fest, ob der Hintergrund des Zeichnungsbereichs sichtbar ist.

Der Hintergrund wird unter Verwendung des Werts von ` plotAreaBackgroundColor` gezeichnet. Der Standardwert ist ` true`.

Zugriffsfunktionen:

bool isPlotAreaBackgroundVisible() const
void setPlotAreaBackgroundVisible(bool newBackgroundVisibility)

Notifier-Signal:

void plotAreaBackgroundVisibleChanged()

seriesColors : QList<QColor>

Diese Eigenschaft enthält die Liste der Grundfarben, die für alle Objekte im Diagramm verwendet werden sollen, und zwar Reihe für Reihe.

Wenn es mehr Reihen als Farben gibt, wird die Farbliste umgebrochen und beginnt erneut mit der ersten Farbe in der Liste.

Hat keine unmittelbare Auswirkung, wenn „ colorStyle “ nicht auf „Uniform“ gesetzt ist.

Dieser Wert kann überschrieben werden, indem „ baseColor “ in der jeweiligen Reihe explizit festgelegt wird.

Zugriffsfunktionen:

QList<QColor> seriesColors() const
void setSeriesColors(const QList<QColor> &newSeriesColors)

Benachrichtigungssignal:

void seriesColorsChanged(const QList<QColor> &list)

singleHighlightColor : QColor

Diese Eigenschaft enthält die Hervorhebungsfarbe für ein ausgewähltes Objekt.

Wird verwendet, wenn für „ selectionMode “ das Flag „ QtGraphs3D::SelectionFlag::Item “ gesetzt ist. Der Standardwert hängt von „ colorScheme “ ab.

Zugriffsfunktionen:

QColor singleHighlightColor() const
void setSingleHighlightColor(QColor newSingleHighlightColor)

Notifier-Signal:

void singleHighlightColorChanged(QColor color)

singleHighlightGradient : QQuickGradient*

Diese Eigenschaft enthält den Hervorhebungsfarbverlauf für ein ausgewähltes Objekt.

Wird verwendet, wenn für „ selectionMode “ das Flag „ QtGraphs3D::SelectionFlag::Item “ gesetzt ist. Der Standardwert hängt von „ colorScheme “ ab.

Notifier-Signal:

void singleHighlightGradientQMLChanged()

theme : QGraphsTheme::Theme

Der Typ des Themas. Wenn kein Typ festgelegt ist, lautet der Typ „ GraphsTheme.Theme.QtGreen “. Wird der Thementyp nach der Erstellung des Elements geändert, werden alle anderen Eigenschaften des Themas auf die vom vordefinierten Thema festgelegten Werte gesetzt. Durch das Ändern des Thementyps des aktiven Themas des Diagramms werden außerdem alle zugehörigen Reihen zurückgesetzt, sodass sie das neue Thema verwenden.

Zugriffsfunktionen:

QGraphsTheme::Theme theme() const
void setTheme(QGraphsTheme::Theme newTheme, QGraphsTheme::ForceTheme force = ForceTheme::No)

Benachrichtigungssignal:

void themeChanged(QGraphsTheme::Theme theme)

[read-only] themeChildren : const QQmlListProperty<QObject>

Die Liste der untergeordneten Objekte des Themas. Hierbei handelt es sich um eine Standard-Eigenschaft, die es ermöglicht, untergeordnete Objekte innerhalb des Theme-Elements in QML anzugeben, ohne den Eigenschaftsnamen „children“ explizit verwenden zu müssen.

Dokumentation zu Mitgliedsfunktionen

QList<QLinearGradient> QGraphsTheme::seriesGradients() const

Gibt die Liste der vom Theme verwendeten Seriengradienten zurück.

Siehe auch ` setSeriesGradients()`.

void QGraphsTheme::setSeriesGradients(const QList<QLinearGradient> &newSeriesGradients)

Legt „ newSeriesGradients “ als Seriengradienten für das Design fest.

Siehe auch 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.