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 |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QGraphsTheme ist Teil von Qt Graphs C++ Common Classes.
Ö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
void | axisXChanged() |
void | axisXLabelFontChanged() |
void | axisYChanged() |
void | axisYLabelFontChanged() |
void | axisZChanged() |
void | axisZLabelFontChanged() |
void | backgroundColorChanged() |
void | backgroundVisibleChanged() |
void | borderColorsChanged() |
void | borderWidthChanged() |
void | colorSchemeChanged() |
void | colorStyleChanged(QGraphsTheme::ColorStyle type) |
void | gridChanged() |
void | gridVisibleChanged() |
void | labelBackgroundColorChanged() |
void | labelBackgroundVisibleChanged() |
void | labelBorderVisibleChanged() |
void | labelFontChanged() |
void | labelTextColorChanged() |
void | labelsVisibleChanged() |
void | multiHighlightColorChanged(QColor color) |
void | multiHighlightGradientQMLChanged() |
void | plotAreaBackgroundColorChanged() |
void | plotAreaBackgroundVisibleChanged() |
void | seriesColorsChanged(const QList<QColor> &list) |
void | singleHighlightColorChanged(QColor color) |
void | singleHighlightGradientQMLChanged() |
void | themeChanged(QGraphsTheme::Theme theme) |
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.
Eigenschaft | Standardwert |
---|---|
backgroundVisible | true |
seriesColors | Qt::black |
seriesGradients | QLinearGradient. Im Wesentlichen vollständig schwarz. |
colorStyle | Einheitlich |
labelFont | QFont |
gridVisible | true |
labelBackgroundVisible | true |
labelBorderVisible | true |
labelsVisible | true |
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.
Konstante | Wert | Beschreibung |
---|---|---|
QGraphsTheme::ColorScheme::Automatic | 0 | Die Hintergrundfarben folgen dem Farbschema der Plattform, sofern verfügbar. Ist dieses nicht verfügbar, wird das Erscheinungsbild Light verwendet. |
QGraphsTheme::ColorScheme::Light | 1 | Die Hintergrundfarben sind heller als die Textfarbe, d. h. das Thema ist hell. |
QGraphsTheme::ColorScheme::Dark | 2 | Die Hintergrundfarben sind dunkler als die Textfarbe, d. h. das Thema ist dunkel. |
Siehe auch Qt::ColorScheme.
enum class QGraphsTheme::ColorStyle
Steigungstypen.
Konstante | Wert | Beschreibung |
---|---|---|
QGraphsTheme::ColorStyle::Uniform | 0 | Objekte werden in einer einzigen Farbe gerendert. Die verwendete Farbe wird in den Eigenschaften seriesColors, singleHighlightColor und multiHighlightColor angegeben. |
QGraphsTheme::ColorStyle::ObjectGradient | 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 seriesGradients, singleHighlightGradient und multiHighlightGradient angegeben. |
QGraphsTheme::ColorStyle::RangeGradient | 2 | Objekte 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.
Konstante | Wert | Beschreibung |
---|---|---|
QGraphsTheme::Theme::QtGreen | 0 | Ein helles Thema mit Grün als Grundfarbe. |
QGraphsTheme::Theme::QtGreenNeon | 1 | Ein helles Thema mit grüner Neonfarbe als Grundfarbe. |
QGraphsTheme::Theme::MixSeries | 2 | Ein gemischtes Thema mit verschiedenen Farben. |
QGraphsTheme::Theme::OrangeSeries | 3 | Ein Thema mit Orange als Grundfarbe. |
QGraphsTheme::Theme::YellowSeries | 4 | Ein Thema mit Gelb als Grundfarbe. |
QGraphsTheme::Theme::BlueSeries | 5 | Ein Thema mit Blau als Grundfarbe. |
QGraphsTheme::Theme::PurpleSeries | 6 | Ein Thema mit Lila als Grundfarbe. |
QGraphsTheme::Theme::GreySeries | 7 | Ein Thema mit Grau als Grundfarbe. |
QGraphsTheme::Theme::UserDefined | 8 | Ein 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.