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.
Eigenschaft | Standardwert |
---|---|
ambientLightStrength | 0.25 |
backgroundColor | Qt::black |
backgroundEnabled | true |
baseColors | Qt::black |
baseGradients | QLinearGradient. Im Wesentlichen vollständig schwarz. |
colorStyle | ColorStyleUniform |
font | QFont |
gridEnabled | true |
gridLineColor | Qt::white |
highlightLightStrength | 7.5 |
labelBackgroundColor | Qt::gray |
labelBackgroundEnabled | true |
labelBorderEnabled | true |
labelTextColor | Qt::white |
lightColor | Qt::white |
lightStrength | 5.0 |
multiHighlightColor | Qt::blue |
multiHighlightGradient | QLinearGradient. Im Wesentlichen vollständig schwarz. |
singleHighlightColor | Qt::red |
singleHighlightGradient | QLinearGradient. Im Wesentlichen vollständig schwarz. |
windowColor | Qt::black |
Beispiele für die Verwendung
Erstellen eines eingebauten Themas ohne jegliche Änderungen:
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:
Mitgliedstyp Dokumentation
enum Q3DTheme::ColorStyle
Farbvarianten.
Konstante | Wert | Beschreibung |
---|---|---|
Q3DTheme::ColorStyleUniform | 0 | Objekte werden in einer einzigen Farbe gerendert. Die verwendete Farbe wird in den Eigenschaften baseColors, singleHighlightColor und multiHighlightColor angegeben. |
Q3DTheme::ColorStyleObjectGradient | 1 | Objekte 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::ColorStyleRangeGradient | 2 | Objekte 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.
Konstante | Wert | Beschreibung |
---|---|---|
Q3DTheme::ThemeQt | 0 | Ein helles Thema mit Grün als Grundfarbe. |
Q3DTheme::ThemePrimaryColors | 1 | Ein helles Thema mit Gelb als Grundfarbe. |
Q3DTheme::ThemeDigia | 2 | Ein helles Thema mit Grau als Grundfarbe. |
Q3DTheme::ThemeStoneMoss | 3 | Ein mitteldunkles Thema mit Gelb als Grundfarbe. |
Q3DTheme::ThemeArmyBlue | 4 | Ein mittelhelles Thema mit Blau als Grundfarbe. |
Q3DTheme::ThemeRetro | 5 | Ein mittelhelles Thema mit Braun als Grundfarbe. |
Q3DTheme::ThemeEbony | 6 | Ein dunkles Thema mit Weiß als Grundfarbe. |
Q3DTheme::ThemeIsabelle | 7 | Ein dunkles Thema mit Gelb als Grundfarbe. |
Q3DTheme::ThemeUserDefined | 8 | Ein 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.