QGraphsTheme Class

Die Klasse QGraphsTheme bietet einen visuellen Stil für Diagramme. Mehr...

Kopfzeile: #include <QGraphsTheme>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
In QML: GraphsTheme
Vererbt: 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

Detaillierte Beschreibung

Legt visuelle Eigenschaften fest, die das gesamte Diagramm betreffen. Es gibt mehrere integrierte Themen, die unverändert verwendet oder frei verändert werden können.

Themen können mit dem Enum-Wert UserDefined von Grund auf neu erstellt werden. Die Erstellung eines Themas mit Hilfe des Standardkonstruktors erzeugt ein neues benutzerdefiniertes Thema.

Theme anpassen

Das Standardthema ist QtGreen, aber es ist möglich, jede Eigenschaft anzupassen.

In der folgenden Tabelle sind die Eigenschaften aufgeführt, die von einem Theme gesteuert werden, sowie die Standardwerte für UserDefined.

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

Beispiele für die Verwendung

Erstellen eines eingebauten Themas ohne jegliche Änderungen:

QGraphsTheme *theme = new QGraphsTheme();

Erstellen eines eingebauten Themas und Ändern einiger Eigenschaften:

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

Ändern eines benutzerdefinierten Themas. Das Thema wurde auf die gleiche Weise erstellt wie in den vorangegangenen Schnipseln:

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 auf ein Diagramm gesetzt 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);

Member Type Dokumentation

enum class QGraphsTheme::ColorScheme

Stellt das Farbschema des Diagramms dar.

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

Siehe auch Qt::ColorScheme.

enum class QGraphsTheme::ColorStyle

Steigungstypen.

KonstanteWertBeschreibung
QGraphsTheme::ColorStyle::Uniform0Objekte werden in einer einzigen Farbe gerendert. Die verwendete Farbe wird in den Eigenschaften seriesColors, singleHighlightColor und multiHighlightColor angegeben.
QGraphsTheme::ColorStyle::ObjectGradient1Objekte werden unter Verwendung eines vollständigen Farbverlaufs für jedes Objekt unabhängig von der Objekthöhe eingefärbt. Der verwendete Farbverlauf wird in den Eigenschaften seriesGradients, singleHighlightGradient und multiHighlightGradient angegeben.
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 angegeben.

enum class QGraphsTheme::Theme

Eingebaute Themen.

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

Dokumentation der Eigenschaft

axisXLabelFont : QFont

Diese Eigenschaft enthält die Schriftart, die für Beschriftungen auf der X-Achse verwendet werden soll.

Zugriffsfunktionen:

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

Melder-Signal:

void axisXLabelFontChanged()

axisYLabelFont : QFont

Diese Eigenschaft enthält die Schriftart, die für Beschriftungen auf der y-Achse verwendet werden soll.

Zugriffsfunktionen:

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

Melder-Signal:

void axisYLabelFontChanged()

axisZLabelFont : QFont

Diese Eigenschaft enthält die Schriftart, die für Beschriftungen auf der Z-Achse verwendet werden soll.

Zugriffsfunktionen:

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

Melder-Signal:

void axisZLabelFontChanged()

backgroundColor : QColor

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

Zugriffsfunktionen:

QColor backgroundColor() const
void setBackgroundColor(QColor newBackgroundColor)

Benachrichtigungssignal:

void backgroundColorChanged()

backgroundVisible : bool

Diese Eigenschaft gibt an, ob der Hintergrund sichtbar ist.

Der Hintergrund wird mit dem Wert von backgroundColor gezeichnet. Der Standardwert ist true.

Zugriffsfunktionen:

bool isBackgroundVisible() const
void setBackgroundVisible(bool newBackgroundVisible)

Benachrichtigungssignal:

void backgroundVisibleChanged()

borderColors : QList<QColor>

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

Wenn es mehr Serien als Farben gibt, wird die Farbliste umbrochen und beginnt wieder mit der ersten Farbe in der Liste.

Hat keine unmittelbare Auswirkung, wenn colorStyle nicht Uniform ist.

Zugriffsfunktionen:

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

Melder-Signal:

void borderColorsChanged()

borderWidth : qreal

Diese Eigenschaft bestimmt die Breite der Ränder im Diagramm, falls vorhanden. Der Standardwert ist 1.0.

Zugriffsfunktionen:

qreal borderWidth() const
void setBorderWidth(qreal newBorderWidth)

Benachrichtigungssignal:

void borderWidthChanged()

colorScheme : QGraphsTheme::ColorScheme

Das Farbschema des verwendeten 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 QGraphsTheme::ColorStyle Aufzählungswerte.

Dieser Wert kann durch die explizite Einstellung von Abstract3DSeries.colorStyle in der Serie außer Kraft gesetzt werden.

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

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void colorStyleChanged(QGraphsTheme::ColorStyle type)

Siehe auch QGraphsTheme::ColorStyle.

gridVisible : bool

Diese Eigenschaft bestimmt, ob die Gitterlinien gezeichnet werden.

Dieser Wert wirkt sich auf alle Gitternetzlinien aus. Der Standardwert ist true.

Zugriffsfunktionen:

bool isGridVisible() const
void setGridVisible(bool newGridVisibility)

Benachrichtigungssignal:

void gridVisibleChanged()

labelBackgroundColor : QColor

Diese Eigenschaft enthält die Farbe der Etikettenhintergründe.

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

Zugriffsfunktionen:

QColor labelBackgroundColor() const
void setLabelBackgroundColor(QColor newLabelBackgroundColor)

Benachrichtigungssignal:

void labelBackgroundColorChanged()

labelBackgroundVisible : bool

Diese Eigenschaft legt fest, ob das Etikett mit einem farbigen oder mit einem vollständig transparenten Hintergrund gezeichnet wird.

Der Wert labelBackgroundColor (einschließlich Alpha) wird zum Zeichnen des Hintergrunds verwendet.

Beschriftungen mit einem Hintergrund werden auf der Grundlage der längsten Beschriftung in gleicher Größe pro Achse gezeichnet, 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 Etikettenränder für Etiketten gezeichnet werden, die einen Hintergrund haben.

Hat keine Auswirkung, wenn labelBackgroundVisible gleich false ist. Der Standardwert ist true.

Zugriffsfunktionen:

bool isLabelBorderVisible() const
void setLabelBorderVisible(bool newLabelBorderVisibility)

Benachrichtigungssignal:

void labelBorderVisibleChanged()

labelFont : QFont

Diese Eigenschaft enthält die Schriftart, die für Beschriftungen verwendet werden soll.

Zugriffsfunktionen:

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

Melder-Signal:

void labelFontChanged()

labelTextColor : QColor

Diese Eigenschaft enthält die Farbe der für Beschriftungen verwendeten Schriftart.

Wenn für eine Achse explizit labelTextColor angegeben wurde, hat dies keine Auswirkungen.

Der Standardwert hängt von colorScheme ab.

Zugriffsfunktionen:

QColor labelTextColor() const
void setLabelTextColor(QColor newLabelTextColor)

Melder-Signal:

void labelTextColorChanged()

labelsVisible : bool

Diese Eigenschaft bestimmt, ob Beschriftungen überhaupt gezeichnet werden.

Wenn diese Eigenschaft false lautet, haben alle anderen Beschriftungseigenschaften keine Wirkung. Der Standardwert ist true.

Zugriffsfunktionen:

bool labelsVisible() const
void setLabelsVisible(bool newLabelsVisibility)

Benachrichtigungssignal:

void labelsVisibleChanged()

multiHighlightColor : QColor

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

Wird verwendet, wenn selectionMode das QtGraphs3D::SelectionFlag::Row oder QtGraphs3D::SelectionFlag::Column Flag gesetzt hat. Der Standardwert hängt von colorScheme ab.

Zugriffsfunktionen:

QColor multiHighlightColor() const
void setMultiHighlightColor(QColor newMultiHighlightColor)

Benachrichtigungssignal:

void multiHighlightColorChanged(QColor color)

multiHighlightGradient : QQuickGradient* const

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

Sie wird verwendet, wenn selectionMode das Flag QtGraphs3D::SelectionFlag::Row oder QtGraphs3D::SelectionFlag::Column gesetzt hat. Der Standardwert hängt von colorScheme ab.

Benachrichtigungssignal:

void multiHighlightGradientQMLChanged()

plotAreaBackgroundColor : QColor

Diese Eigenschaft enthält die Farbe des Hintergrunds des Diagrammbereichs. Der Standardwert hängt von colorScheme ab.

Zugriffsfunktionen:

QColor plotAreaBackgroundColor() const
void setPlotAreaBackgroundColor(QColor newBackgroundColor)

Benachrichtigungssignal:

void plotAreaBackgroundColorChanged()

plotAreaBackgroundVisible : bool

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

Der Hintergrund wird mit dem Wert von plotAreaBackgroundColor gezeichnet. Der Standardwert ist true.

Zugriffsfunktionen:

bool isPlotAreaBackgroundVisible() const
void setPlotAreaBackgroundVisible(bool newBackgroundVisibility)

Benachrichtigungssignal:

void plotAreaBackgroundVisibleChanged()

seriesColors : QList<QColor>

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

Wenn es mehr Serien als Farben gibt, wird die Farbliste umbrochen und beginnt wieder mit der ersten Farbe in der Liste.

Hat keine unmittelbare Auswirkung, wenn colorStyle nicht Uniform ist.

Dieser Wert kann durch explizites Setzen von baseColor in der Serie außer Kraft gesetzt werden.

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 selectionMode das Flag QtGraphs3D::SelectionFlag::Item gesetzt hat. Der Standardwert hängt von colorScheme ab.

Zugriffsfunktionen:

QColor singleHighlightColor() const
void setSingleHighlightColor(QColor newSingleHighlightColor)

Benachrichtigungssignal:

void singleHighlightColorChanged(QColor color)

singleHighlightGradient : QQuickGradient* const

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

Wird verwendet, wenn selectionMode das Flag QtGraphs3D::SelectionFlag::Item gesetzt hat. Der Standardwert hängt von colorScheme ab.

Benachrichtigungssignal:

void singleHighlightGradientQMLChanged()

theme : QGraphsTheme::Theme

Der Typ des Themas. Wenn kein Typ festgelegt ist, lautet der Typ GraphsTheme.Theme.QtGreen. Wenn Sie den Thementyp ändern, nachdem das Element konstruiert wurde, werden alle anderen Eigenschaften des Themas so geändert, wie es das vordefinierte Thema vorgibt. Wenn Sie den Thementyp des aktiven Themas des Diagramms ändern, werden auch alle angehängten Reihen auf das neue Thema zurückgesetzt.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void themeChanged(QGraphsTheme::Theme theme)

Member Function Dokumentation

QList<QLinearGradient> QGraphsTheme::seriesGradients() const

Liefert die Liste der vom Thema verwendeten Serienfarbverläufe.

Siehe auch setSeriesGradients().

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

Legt newSeriesGradients als Serienfarbverlauf für das Thema fest.

Siehe auch seriesGradients().

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