Auf dieser Seite

Q3DTheme Class

Die Klasse „Q3DTheme“ stellt einen visuellen Stil für Diagramme bereit. Mehr...

Kopfzeile: #include <Q3DTheme>
CMake: find_package(Qt6 REQUIRED COMPONENTS DataVisualization)
target_link_libraries(mytarget PRIVATE Qt6::DataVisualization)
qmake: QT += datavisualization
Seit: QtDataVisualization 1.0
In QML: Theme3D
Erbt von: QObject
Status: Veraltet

Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Öffentliche Typen

enum ColorStyle { ColorStyleUniform, ColorStyleObjectGradient, ColorStyleRangeGradient }
enum Theme { ThemeQt, ThemePrimaryColors, ThemeDigia, ThemeStoneMoss, ThemeArmyBlue, …, ThemeUserDefined }

Eigenschaften

Öffentliche Funktionen

Q3DTheme(QObject *parent = nullptr)
Q3DTheme(Q3DTheme::Theme themeType, QObject *parent = nullptr)
virtual ~Q3DTheme()
float ambientLightStrength() const
QColor backgroundColor() const
QList<QColor> baseColors() const
QList<QLinearGradient> baseGradients() const
Q3DTheme::ColorStyle colorStyle() const
QFont font() const
QColor gridLineColor() const
float highlightLightStrength() const
bool isBackgroundEnabled() const
bool isGridEnabled() const
bool isLabelBackgroundEnabled() const
bool isLabelBorderEnabled() const
QColor labelBackgroundColor() const
QColor labelTextColor() const
QColor lightColor() const
float lightStrength() const
QColor multiHighlightColor() const
QLinearGradient multiHighlightGradient() const
void setAmbientLightStrength(float strength)
void setBackgroundColor(const QColor &color)
void setBackgroundEnabled(bool enabled)
void setBaseColors(const QList<QColor> &colors)
void setBaseGradients(const QList<QLinearGradient> &gradients)
void setColorStyle(Q3DTheme::ColorStyle style)
void setFont(const QFont &font)
void setGridEnabled(bool enabled)
void setGridLineColor(const QColor &color)
void setHighlightLightStrength(float strength)
void setLabelBackgroundColor(const QColor &color)
void setLabelBackgroundEnabled(bool enabled)
void setLabelBorderEnabled(bool enabled)
void setLabelTextColor(const QColor &color)
void setLightColor(const QColor &color)
void setLightStrength(float strength)
void setMultiHighlightColor(const QColor &color)
void setMultiHighlightGradient(const QLinearGradient &gradient)
void setSingleHighlightColor(const QColor &color)
void setSingleHighlightGradient(const QLinearGradient &gradient)
void setType(Q3DTheme::Theme themeType)
void setWindowColor(const QColor &color)
QColor singleHighlightColor() const
QLinearGradient singleHighlightGradient() const
Q3DTheme::Theme type() const
QColor windowColor() const

Signale

void ambientLightStrengthChanged(float strength)
void backgroundColorChanged(const QColor &color)
void backgroundEnabledChanged(bool enabled)
void baseColorsChanged(const QList<QColor> &colors)
void baseGradientsChanged(const QList<QLinearGradient> &gradients)
void colorStyleChanged(Q3DTheme::ColorStyle style)
void fontChanged(const QFont &font)
void gridEnabledChanged(bool enabled)
void gridLineColorChanged(const QColor &color)
void highlightLightStrengthChanged(float strength)
void labelBackgroundColorChanged(const QColor &color)
void labelBackgroundEnabledChanged(bool enabled)
void labelBorderEnabledChanged(bool enabled)
void labelTextColorChanged(const QColor &color)
void lightColorChanged(const QColor &color)
void lightStrengthChanged(float strength)
void multiHighlightColorChanged(const QColor &color)
void multiHighlightGradientChanged(const QLinearGradient &gradient)
void singleHighlightColorChanged(const QColor &color)
void singleHighlightGradientChanged(const QLinearGradient &gradient)
void typeChanged(Q3DTheme::Theme themeType)
void windowColorChanged(const QColor &color)

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

Die folgenden Eigenschaften können überschrieben werden, indem die Eigenschaften „ QAbstract3DSeries “ verwendet werden, um sie in der Reihe explizit festzulegen: „ baseColors “, „ baseGradients “ und „ colorStyle “.

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

Standardthema

Die folgende Tabelle listet die von Themen gesteuerten Eigenschaften sowie die Standardwerte für „ ThemeUserDefined “ auf.

Anwendungsbeispiele

Erstellen eines integrierten Themes ohne Änderungen:

Q3DTheme *theme = new Q3DTheme(Q3DTheme::ThemeQt);

Erstellen eines integrierten Themes und Anpassen einiger Eigenschaften:

Q3DTheme *theme = new Q3DTheme(Q3DTheme::ThemeQt);
theme->setBackgroundEnabled(false);
theme->setLabelBackgroundEnabled(false);

Erstellen eines benutzerdefinierten Designs:

Q3DTheme *theme = new Q3DTheme();
theme->setAmbientLightStrength(0.3f);
theme->setBackgroundColor(QColor(QRgb(0x99ca53)));
theme->setBackgroundEnabled(true);
theme->setBaseColor(QColor(QRgb(0x209fdf)));
theme->setColorStyle(Q3DTheme::ColorStyleUniform);
theme->setFont(QFont(QStringLiteral("Impact"), 35));
theme->setGridEnabled(true);
theme->setGridLineColor(QColor(QRgb(0x99ca53)));
theme->setHighlightLightStrength(7.0f);
theme->setLabelBackgroundColor(QColor(0xf6, 0xa6, 0x25, 0xa0));
theme->setLabelBackgroundEnabled(true);
theme->setLabelBorderEnabled(true);
theme->setLabelTextColor(QColor(QRgb(0x404044)));
theme->setLightColor(Qt::white);
theme->setLightStrength(6.0f);
theme->setMultiHighlightColor(QColor(QRgb(0x6d5fd5)));
theme->setSingleHighlightColor(QColor(QRgb(0xf6a625)));
theme->setWindowColor(QColor(QRgb(0xffffff)));

Erstellen eines integrierten Designs und Anpassen einiger Eigenschaften, nachdem es festgelegt wurde:

Q3DBars *graph = new Q3DBars();
graph->activeTheme()->setType(Q3DTheme::ThemePrimaryColors);
graph->activeTheme()->setBaseColor(Qt::red);
graph->activeTheme()->setSingleHighlightColor(Qt::yellow);

Dokumentation zu Mitgliedstypen

enum Q3DTheme::ColorStyle

Farbstile.

KonstanteWertBeschreibung
Q3DTheme::ColorStyleUniform0Objekte werden in einer einzigen Farbe dargestellt. Die verwendete Farbe wird in den Eigenschaften „ baseColors “, „ singleHighlightColor “ und „ multiHighlightColor “ festgelegt.
Q3DTheme::ColorStyleObjectGradient1Objekte werden unabhängig von ihrer Höhe mit einem vollständigen Farbverlauf eingefärbt. Der verwendete Farbverlauf wird in den Eigenschaften „ baseGradients “, „ singleHighlightGradient “ und „ multiHighlightGradient “ festgelegt.
Q3DTheme::ColorStyleRangeGradient2Objekte werden mit einem Teil des vollständigen Farbverlaufs eingefärbt, der durch die Höhe des Objekts und dessen Position auf der Y-Achse bestimmt wird. Der verwendete Farbverlauf wird in den Eigenschaften „ baseGradients “, „ singleHighlightGradient “ und „ multiHighlightGradient “ festgelegt.

enum Q3DTheme::Theme

Integrierte Designs.

KonstanteWertBeschreibung
Q3DTheme::ThemeQt0Ein helles Design mit Grün als Grundfarbe.
Q3DTheme::ThemePrimaryColors1Ein helles Design mit Gelb als Grundfarbe.
Q3DTheme::ThemeDigia2Ein helles Design mit Grau als Grundfarbe.
Q3DTheme::ThemeStoneMoss3Ein mittel-dunkles Design mit Gelb als Grundfarbe.
Q3DTheme::ThemeArmyBlue4Ein mittelhelles Design mit Blau als Grundfarbe.
Q3DTheme::ThemeRetro5Ein mittelhelles Design mit Braun als Grundfarbe.
Q3DTheme::ThemeEbony6Ein dunkles Design mit Weiß als Grundfarbe.
Q3DTheme::ThemeIsabelle7Ein dunkles Design mit Gelb als Grundfarbe.
Q3DTheme::ThemeUserDefined8Ein benutzerdefiniertes Design. Weitere Informationen finden Sie unter Default Theme.

Dokumentation zu den Eigenschaften

ambientLightStrength : float

Diese Eigenschaft legt die Umgebungshelligkeit für das gesamte Diagramm fest.

Dieser Wert bestimmt, wie gleichmäßig und hell die Farben im gesamten Diagramm dargestellt werden, unabhängig von der Position der Lichtquelle.

Der Wert muss zwischen 0.0f und 1.0f liegen.

Zugriffsfunktionen:

float ambientLightStrength() const
void setAmbientLightStrength(float strength)

Benachrichtigungssignal:

void ambientLightStrengthChanged(float strength)

backgroundColor : QColor

Diese Eigenschaft legt die Farbe des Diagrammhintergrunds fest.

Zugriffsfunktionen:

QColor backgroundColor() const
void setBackgroundColor(const QColor &color)

Notifier-Signal:

void backgroundColorChanged(const QColor &color)

backgroundEnabled : bool

Diese Eigenschaft gibt an, ob der Hintergrund sichtbar ist.

Der Hintergrund wird unter Verwendung des Werts von „ backgroundColor “ gezeichnet.

Zugriffsfunktionen:

bool isBackgroundEnabled() const
void setBackgroundEnabled(bool enabled)

Notifier-Signal:

void backgroundEnabledChanged(bool enabled)

baseColors : 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 Wirkung, wenn „ colorStyle “ nicht auf „ ColorStyleUniform “ gesetzt ist.

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

Zugriffsfunktionen:

QList<QColor> baseColors() const
void setBaseColors(const QList<QColor> &colors)

Benachrichtigungssignal:

void baseColorsChanged(const QList<QColor> &colors)

baseGradients : QList<QLinearGradient>

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

Wenn es mehr Reihen als Farbverläufe gibt, wird die Farbverlaufsliste umgebrochen und beginnt erneut mit dem ersten Farbverlauf in der Liste

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

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

Zugriffsfunktionen:

QList<QLinearGradient> baseGradients() const
void setBaseGradients(const QList<QLinearGradient> &gradients)

Benachrichtigungssignal:

void baseGradientsChanged(const QList<QLinearGradient> &gradients)

colorStyle : ColorStyle

Diese Eigenschaft legt den Stil der Diagrammfarben fest.

Einer der Werte der Aufzählung „ ColorStyle “.

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

Zugriffsfunktionen:

Q3DTheme::ColorStyle colorStyle() const
void setColorStyle(Q3DTheme::ColorStyle style)

Benachrichtigungssignal:

void colorStyleChanged(Q3DTheme::ColorStyle style)

font : QFont

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

Zugriffsfunktionen:

QFont font() const
void setFont(const QFont &font)

Benachrichtigungssignal:

void fontChanged(const QFont &font)

gridEnabled : bool

Diese Eigenschaft legt fest, ob die Gitterlinien gezeichnet werden.

Dieser Wert wirkt sich auf alle Gitterlinien aus.

Zugriffsfunktionen:

bool isGridEnabled() const
void setGridEnabled(bool enabled)

Benachrichtigungssignal:

void gridEnabledChanged(bool enabled)

gridLineColor : QColor

Diese Eigenschaft legt die Farbe der Rasterlinien fest.

Hinweis: Transparenz wird nicht unterstützt und führt zu undefiniertem Verhalten.

Zugriffsfunktionen:

QColor gridLineColor() const
void setGridLineColor(const QColor &color)

Notifier-Signal:

void gridLineColorChanged(const QColor &color)

highlightLightStrength : float

Diese Eigenschaft enthält die Stärke des Spiegelungslichts für ausgewählte Objekte.

Der Wert muss zwischen 0.0f und 10.0f liegen.

Zugriffsfunktionen:

float highlightLightStrength() const
void setHighlightLightStrength(float strength)

Benachrichtigungssignal:

void highlightLightStrengthChanged(float strength)

labelBackgroundColor : QColor

Diese Eigenschaft legt die Farbe des Hintergrunds der Beschriftungen fest.

Hat keine Auswirkung, wenn „ labelBackgroundEnabled “ auf „ false “ gesetzt ist.

Zugriffsfunktionen:

QColor labelBackgroundColor() const
void setLabelBackgroundColor(const QColor &color)

Notifier-Signal:

void labelBackgroundColorChanged(const QColor &color)

labelBackgroundEnabled : 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 der Größe der längsten Beschriftung dargestellt, und der Text wird darin zentriert. Beschriftungen ohne Hintergrund werden unverändert dargestellt und je nach ihrer Position im Diagramm links- oder rechtsbündig ausgerichtet.

Zugriffsfunktionen:

bool isLabelBackgroundEnabled() const
void setLabelBackgroundEnabled(bool enabled)

Benachrichtigungssignal:

void labelBackgroundEnabledChanged(bool enabled)

labelBorderEnabled : bool

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

Hat keine Auswirkung, wenn „ labelBackgroundEnabled “ auf „ false “ gesetzt ist.

Zugriffsfunktionen:

bool isLabelBorderEnabled() const
void setLabelBorderEnabled(bool enabled)

Notifier-Signal:

void labelBorderEnabledChanged(bool enabled)

labelTextColor : QColor

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

Zugriffsfunktionen:

QColor labelTextColor() const
void setLabelTextColor(const QColor &color)

Benachrichtigungssignal:

void labelTextColorChanged(const QColor &color)

lightColor : QColor

Diese Eigenschaft enthält die Farbe für das Umgebungslicht und das Spiegelungslicht.

Dieser Wert wirkt sich auf das in Q3DScene festgelegte Licht aus.

Zugriffsfunktionen:

QColor lightColor() const
void setLightColor(const QColor &color)

Notifier-Signal:

void lightColorChanged(const QColor &color)

lightStrength : float

Diese Eigenschaft enthält die Stärke des Spiegelungslichts für den gesamten Graphen.

Der Wert muss zwischen 0.0f und 10.0f liegen.

Dieser Wert wirkt sich auf das in Q3DScene festgelegte Licht aus.

Zugriffsfunktionen:

float lightStrength() const
void setLightStrength(float strength)

Notifier-Signal:

void lightStrengthChanged(float strength)

multiHighlightColor : QColor

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

Wird verwendet, wenn für „ selectionMode “ das Flag „ QAbstract3DGraph::SelectionRow “ oder „ QAbstract3DGraph::SelectionColumn “ gesetzt ist.

Zugriffsfunktionen:

QColor multiHighlightColor() const
void setMultiHighlightColor(const QColor &color)

Notifier-Signal:

void multiHighlightColorChanged(const QColor &color)

multiHighlightGradient : QLinearGradient

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

Wird verwendet, wenn für „ selectionMode “ das Flag „ QAbstract3DGraph::SelectionRow “ oder „ QAbstract3DGraph::SelectionColumn “ gesetzt ist.

Zugriffsfunktionen:

QLinearGradient multiHighlightGradient() const
void setMultiHighlightGradient(const QLinearGradient &gradient)

Benachrichtigungssignal:

void multiHighlightGradientChanged(const QLinearGradient &gradient)

singleHighlightColor : QColor

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

Wird verwendet, wenn für „ selectionMode “ das Flag „ QAbstract3DGraph::SelectionItem “ gesetzt ist.

Zugriffsfunktionen:

QColor singleHighlightColor() const
void setSingleHighlightColor(const QColor &color)

Notifier-Signal:

void singleHighlightColorChanged(const QColor &color)

singleHighlightGradient : QLinearGradient

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

Wird verwendet, wenn für „ selectionMode “ das Flag „ QAbstract3DGraph::SelectionItem “ gesetzt ist.

Zugriffsfunktionen:

QLinearGradient singleHighlightGradient() const
void setSingleHighlightGradient(const QLinearGradient &gradient)

Benachrichtigungssignal:

void singleHighlightGradientChanged(const QLinearGradient &gradient)

type : Theme

Diese Eigenschaft gibt den Typ des Themas an.

Der Typ wird beim Erstellen eines Themas automatisch festgelegt, kann aber auch später geändert werden. Durch das Ändern des Thematyps werden alle anderen Eigenschaften des Themas auf die Werte gesetzt, die das vordefinierte Thema vorgibt. Das Ändern des Thematyps des aktiven Themas des Diagramms führt außerdem dazu, dass alle zugehörigen Reihen zurückgesetzt werden, sodass sie das neue Thema verwenden.

Zugriffsfunktionen:

Q3DTheme::Theme type() const
void setType(Q3DTheme::Theme themeType)

Benachrichtigungssignal:

void typeChanged(Q3DTheme::Theme themeType)

windowColor : QColor

Diese Eigenschaft gibt die Farbe des Anwendungsfensters an, in dem das Diagramm gezeichnet wird.

Zugriffsfunktionen:

QColor windowColor() const
void setWindowColor(const QColor &color)

Notifier-Signal:

void windowColorChanged(const QColor &color)

Dokumentation der Mitgliedsfunktionen

[explicit] Q3DTheme::Q3DTheme(QObject *parent = nullptr)

Erstellt ein neues Theme vom Typ „ ThemeUserDefined “. Ein optionaler Parameter „ parent “ kann angegeben werden und wird dann an den Konstruktor von „ QObject “ übergeben.

[explicit] Q3DTheme::Q3DTheme(Q3DTheme::Theme themeType, QObject *parent = nullptr)

Erstellt ein neues Theme mit ` themeType`, wobei es sich um eines der integrierten Themes von Theme handeln kann. Ein optionaler Parameter ` parent ` kann angegeben werden und wird dann an den Konstruktor von ` QObject ` übergeben.

[virtual noexcept] Q3DTheme::~Q3DTheme()

Das ruiniert das Thema.

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