Q3DTheme Class

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

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

Ö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 das gesamte Diagramm betreffen. Es gibt mehrere integrierte Themen, die unverändert verwendet oder frei verändert werden können.

Die folgenden Eigenschaften können durch die Verwendung von QAbstract3DSeries Eigenschaften überschrieben werden, um sie explizit in der Serie festzulegen: baseColors, baseGradients, und colorStyle.

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

Standardthema

In der folgenden Tabelle sind die von Themes kontrollierten Eigenschaften und die Standardwerte für ThemeUserDefined aufgeführt.

Beispiele für die Verwendung

Erstellen eines eingebauten Themas ohne jegliche Änderungen:

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

Erstellen eines eingebauten Themas und Ändern einiger Eigenschaften:

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

Erstellen eines benutzerdefinierten Themas:

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 eingebauten Themas und Ändern 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);

Mitgliedstyp Dokumentation

enum Q3DTheme::ColorStyle

Farbvarianten.

KonstanteWertBeschreibung
Q3DTheme::ColorStyleUniform0Objekte werden in einer einzigen Farbe gerendert. Die verwendete Farbe wird in den Eigenschaften baseColors, singleHighlightColor und multiHighlightColor angegeben.
Q3DTheme::ColorStyleObjectGradient1Objekte 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 baseGradients, singleHighlightGradient und multiHighlightGradient angegeben.
Q3DTheme::ColorStyleRangeGradient2Objekte werden unter Verwendung eines Teils 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 baseGradients, singleHighlightGradient und multiHighlightGradient angegeben.

enum Q3DTheme::Theme

Eingebaute Themen.

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

Dokumentation der Eigenschaft

ambientLightStrength : float

Diese Eigenschaft enthält die Umgebungslichtstärke für das gesamte Diagramm.

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

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 enthält die Farbe des Diagrammhintergrunds.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void backgroundColorChanged(const QColor &color)

backgroundEnabled : bool

Diese Eigenschaft gibt an, ob der Hintergrund sichtbar ist.

Der Hintergrund wird mit dem Wert von backgroundColor gezeichnet.

Zugriffsfunktionen:

bool isBackgroundEnabled() const
void setBackgroundEnabled(bool enabled)

Melder-Signal:

void backgroundEnabledChanged(bool enabled)

baseColors : 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 ColorStyleUniform ist.

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

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 Basisgradienten, die für alle Objekte im Diagramm verwendet werden sollen, Serie für Serie.

Wenn es mehr Serien als Farbverläufe gibt, wird die Liste der Farbverläufe umbrochen und beginnt wieder mit dem ersten Farbverlauf in der Liste

Hat keine unmittelbare Auswirkung, wenn colorStyle ColorStyleUniform ist.

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

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void baseGradientsChanged(const QList<QLinearGradient> &gradients)

colorStyle : ColorStyle

Diese Eigenschaft enthält den Stil der Diagrammfarben.

Einer der ColorStyle enum-Werte.

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

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void colorStyleChanged(Q3DTheme::ColorStyle style)

font : QFont

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

Zugriffsfunktionen:

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

Melder-Signal:

void fontChanged(const QFont &font)

gridEnabled : bool

Diese Eigenschaft bestimmt, ob die Gitterlinien gezeichnet werden.

Dieser Wert betrifft alle Gitternetzlinien.

Zugriffsfunktionen:

bool isGridEnabled() const
void setGridEnabled(bool enabled)

Benachrichtigungssignal:

void gridEnabledChanged(bool enabled)

gridLineColor : QColor

Diese Eigenschaft enthält die Farbe der Gitterlinien.

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

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void gridLineColorChanged(const QColor &color)

highlightLightStrength : float

Diese Eigenschaft enthält die Stärke des Spiegellichts 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 enthält die Farbe der Etikettenhintergründe.

Hat keine Auswirkung, wenn labelBackgroundEnabled false ist.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void labelBackgroundColorChanged(const QColor &color)

labelBackgroundEnabled : 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.

Zugriffsfunktionen:

bool isLabelBackgroundEnabled() const
void setLabelBackgroundEnabled(bool enabled)

Benachrichtigungssignal:

void labelBackgroundEnabledChanged(bool enabled)

labelBorderEnabled : bool

Diese Eigenschaft legt fest, ob Etikettenränder für Etiketten gezeichnet werden, die einen Hintergrund haben.

Hat keine Auswirkung, wenn labelBackgroundEnabled false ist.

Zugriffsfunktionen:

bool isLabelBorderEnabled() const
void setLabelBorderEnabled(bool enabled)

Melder-Signal:

void labelBorderEnabledChanged(bool enabled)

labelTextColor : QColor

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

Zugriffsfunktionen:

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

Melder-Signal:

void labelTextColorChanged(const QColor &color)

lightColor : QColor

Diese Eigenschaft enthält die Farbe für das Umgebungs- und Spiegellicht.

Dieser Wert beeinflusst das in Q3DScene angegebene Licht.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void lightColorChanged(const QColor &color)

lightStrength : float

Diese Eigenschaft enthält die Stärke des Spiegellichts für das gesamte Diagramm.

Der Wert muss zwischen 0.0f und 10.0f liegen.

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

Zugriffsfunktionen:

float lightStrength() const
void setLightStrength(float strength)

Benachrichtigungssignal:

void lightStrengthChanged(float strength)

multiHighlightColor : QColor

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

Wird verwendet, wenn selectionMode das Flag QAbstract3DGraph::SelectionRow oder QAbstract3DGraph::SelectionColumn gesetzt hat.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void multiHighlightColorChanged(const QColor &color)

multiHighlightGradient : QLinearGradient

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

Wird verwendet, wenn selectionMode das Flag QAbstract3DGraph::SelectionRow oder QAbstract3DGraph::SelectionColumn gesetzt hat.

Zugriffsfunktionen:

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

Melder-Signal:

void multiHighlightGradientChanged(const QLinearGradient &gradient)

singleHighlightColor : QColor

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

Wird verwendet, wenn selectionMode das Flag QAbstract3DGraph::SelectionItem gesetzt hat.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void singleHighlightColorChanged(const QColor &color)

singleHighlightGradient : QLinearGradient

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

Wird verwendet, wenn selectionMode das Flag QAbstract3DGraph::SelectionItem gesetzt hat.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void singleHighlightGradientChanged(const QLinearGradient &gradient)

type : Theme

Diese Eigenschaft enthält den Typ des Themas.

Der Typ wird beim Erstellen eines Themas automatisch festgelegt, kann aber auch später geändert werden. Durch die Änderung des Thementyps werden alle anderen Eigenschaften des Themas so geändert, wie es das vordefinierte Thema angibt. Wird der Thementyp des aktiven Themas des Diagramms geändert, werden auch alle angehängten Reihen auf das neue Thema umgestellt.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void typeChanged(Q3DTheme::Theme themeType)

windowColor : QColor

Diese Eigenschaft enthält die Farbe des Anwendungsfensters, in das das Diagramm gezeichnet wird.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void windowColorChanged(const QColor &color)

Member Function Dokumentation

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

Konstruiert ein neues Thema vom Typ ThemeUserDefined. Ein optionaler parent Parameter kann angegeben werden und wird dann an den QObject Konstruktor übergeben.

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

Konstruiert ein neues Thema mit themeType, das eines der eingebauten Themen von Theme sein kann. Ein optionaler parent Parameter kann angegeben werden und wird dann an den QObject Konstruktor übergeben.

[virtual noexcept] Q3DTheme::~Q3DTheme()

Zerstört das Thema.

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