QAbstractSeries Class

Die Klasse QAbstractSeries ist eine Basisklasse für alle Qt Charts Serien. Mehr...

Header: #include <QAbstractSeries>
In QML: AbstractSeries
Inherits: QObject
Inherited By:

QAbstractBarSeries, QAreaSeries, QBoxPlotSeries, QCandlestickSeries, QPieSeries, and QXYSeries

Öffentliche Typen

enum SeriesType { SeriesTypeLine, SeriesTypeArea, SeriesTypeBar, SeriesTypeStackedBar, SeriesTypePercentBar, …, SeriesTypeCandlestick }

Eigenschaften

Öffentliche Funktionen

virtual ~QAbstractSeries()
bool attachAxis(QAbstractAxis *axis)
QList<QAbstractAxis *> attachedAxes()
QChart *chart() const
bool detachAxis(QAbstractAxis *axis)
void hide()
bool isVisible() const
QString name() const
qreal opacity() const
void setName(const QString &name)
void setOpacity(qreal opacity)
void setUseOpenGL(bool enable = true)
void setVisible(bool visible = true)
void show()
virtual QAbstractSeries::SeriesType type() const = 0
bool useOpenGL() const

Signale

Detaillierte Beschreibung

Normalerweise werden die serientypspezifischen geerbten Klassen anstelle der Basisklasse verwendet.

Siehe auch QXYSeries, QLineSeries, QSplineSeries, QScatterSeries, QAreaSeries, QAbstractBarSeries, QBarSeries, QStackedBarSeries, QPercentBarSeries, QHorizontalBarSeries, QHorizontalStackedBarSeries, QHorizontalPercentBarSeries, und QPieSeries.

Dokumentation der Mitgliedstypen

enum QAbstractSeries::SeriesType

Diese Aufzählung beschreibt den Typ der Reihe.

KonstanteWertBeschreibung
QAbstractSeries::SeriesTypeLine0Ein Liniendiagramm.
QAbstractSeries::SeriesTypeArea1Ein Flächendiagramm.
QAbstractSeries::SeriesTypeBar2Ein vertikales Balkendiagramm.
QAbstractSeries::SeriesTypeStackedBar3Ein vertikales gestapeltes Balkendiagramm.
QAbstractSeries::SeriesTypePercentBar4Ein vertikales Prozent-Balkendiagramm.
QAbstractSeries::SeriesTypePie5Ein Kreisdiagramm.
QAbstractSeries::SeriesTypeScatter6Ein Punktediagramm.
QAbstractSeries::SeriesTypeSpline7Ein Spline-Diagramm.
QAbstractSeries::SeriesTypeHorizontalBar8Ein horizontales Balkendiagramm.
QAbstractSeries::SeriesTypeHorizontalStackedBar9Ein horizontales gestapeltes Balkendiagramm.
QAbstractSeries::SeriesTypeHorizontalPercentBar10Ein horizontales Prozent-Balkendiagramm.
QAbstractSeries::SeriesTypeBoxPlot11Ein Boxplot-Diagramm.
QAbstractSeries::SeriesTypeCandlestick12Ein Candlestick-Diagramm.

Dokumentation der Eigenschaften

name : QString

Diese Eigenschaft enthält den Namen der Serie.

Der Name wird in der Legende für die Serie angezeigt und unterstützt HTML-Formatierung.

Zugriffsfunktionen:

QString name() const
void setName(const QString &name)

Benachrichtigungssignal:

void nameChanged()

opacity : qreal

Diese Eigenschaft enthält die Deckkraft der Serie.

Standardmäßig ist die Deckkraft 1,0. Die gültigen Werte reichen von 0,0 (transparent) bis 1,0 (undurchsichtig).

Zugriffsfunktionen:

qreal opacity() const
void setOpacity(qreal opacity)

Melder-Signal:

[read-only] type : const SeriesType

Diese Eigenschaft enthält den Typ der Reihe.

Zugriffsfunktionen:

virtual QAbstractSeries::SeriesType type() const = 0

useOpenGL : bool

Gibt an, ob das Zeichnen der Serie durch die Verwendung von OpenGL beschleunigt wird oder nicht.

Die Beschleunigung mit OpenGL wird nur für QLineSeries und QScatterSeries unterstützt. Eine Linienreihe, die als Randreihe für QAreaSeries verwendet wird, kann die OpenGL-Beschleunigung nicht nutzen. Wenn ein Diagramm Serien enthält, die mit OpenGL gezeichnet werden, wird ein transparentes QOpenGLWidget über dem Diagrammbereich erstellt. Die beschleunigten Serien werden nicht auf der zugrunde liegenden QGraphicsView gezeichnet, sondern auf dem erstellten QOpenGLWidget.

Der Leistungsgewinn durch die Verwendung von OpenGL zur Beschleunigung des Zeichnens von Reihen hängt von der zugrunde liegenden Hardware ab, ist aber in den meisten Fällen beträchtlich. Auf einem Standard-Desktop-Computer beispielsweise ermöglicht die Aktivierung der OpenGL-Beschleunigung für eine Serie normalerweise das Rendern von mindestens hundertmal mehr Punkten, ohne dass die Bildwiederholrate sinkt. Auch die Größe des Diagramms hat weniger Einfluss auf die Bildrate.

Die OpenGL-Beschleunigung des Zeichnens von Serien ist für Anwendungsfälle gedacht, die ein schnelles Zeichnen einer großen Anzahl von Punkten erfordern. Sie ist auf Effizienz optimiert, und daher fehlt den Serien, die sie verwenden, die Unterstützung für viele Funktionen, die für nicht beschleunigte Serien verfügbar sind:

  • Serienanimationen werden für beschleunigte Serien nicht unterstützt.
  • Punktbeschriftungen werden für beschleunigte Reihen nicht unterstützt.
  • Stiftstile, Markierungsformen und Leuchtmarkierungen werden für beschleunigte Reihen ignoriert. Es werden nur durchgezogene Linien und einfache Streupunkte unterstützt. Die Streupunkte können kreisförmig oder rechteckig sein, abhängig von der zugrunde liegenden Grafikhardware und den Treibern.
  • Polardiagramme unterstützen keine beschleunigten Reihen.
  • Die Aktivierung von Schlagschatten oder die Verwendung einer transparenten Diagrammhintergrundfarbe wird bei der Verwendung von beschleunigten Reihen nicht empfohlen, da dies die Bildrate erheblich verlangsamen kann.

Diese zusätzlichen Einschränkungen ergeben sich aus der Tatsache, dass die beschleunigte Reihe in einem separaten Widget über dem Diagramm gezeichnet wird:

  • Wenn Sie irgendwelche Grafikelemente über einem Diagramm zeichnen, das eine beschleunigte Serie enthält, wird die beschleunigte Serie über diesen Elementen gezeichnet.
  • Damit QOpenGLWidget teilweise transparent sein kann, muss es über alle anderen Widgets gestapelt werden. Das bedeutet, dass Sie keine anderen Widgets haben können, die das Diagramm teilweise verdecken, wenn Sie beschleunigte Serien verwenden.
  • Beschleunigte Reihen werden nicht für Anwendungsfälle unterstützt, in denen die Grafikszene mehr als eine zugeordnete Grafikansicht hat.
  • Beschleunigte Serien werden nicht für Anwendungsfälle unterstützt, bei denen das Diagramm eine andere als die Standardgeometrie aufweist. Das Hinzufügen von Transformationen zur Grafikansicht führt beispielsweise dazu, dass die beschleunigte Reihe an einer falschen Position in Bezug auf das Diagramm gezeichnet wird.

Der Standardwert ist false.

Zugriffsfunktionen:

bool useOpenGL() const
void setUseOpenGL(bool enable = true)

Benachrichtigungssignal:

visible : bool

Diese Eigenschaft gibt an, ob die Serie sichtbar ist oder nicht.

Standardmäßig ist true.

Zugriffsfunktionen:

bool isVisible() const
void setVisible(bool visible = true)

Benachrichtigungssignal:

Dokumentation der Mitgliedsfunktionen

[virtual noexcept] QAbstractSeries::~QAbstractSeries()

Virtueller Destruktor für die Diagrammserie.

bool QAbstractSeries::attachAxis(QAbstractAxis *axis)

Hängt die durch axis angegebene Achse an die Serie an.

Gibt true zurück, wenn die Achse erfolgreich angefügt wurde, andernfalls false.

Hinweis: Wenn mehrere Achsen mit derselben Ausrichtung an dieselbe Reihe angehängt werden, haben sie dieselben Mindest- und Höchstwerte.

Siehe auch QChart::addAxis() und QChart::createDefaultAxes().

QList<QAbstractAxis *> QAbstractSeries::attachedAxes()

Gibt die Liste der Achsen zurück, die der Reihe zugeordnet sind. Normalerweise sind einer Reihe eine x-Achse und eine y-Achse zugeordnet, mit Ausnahme von QPieSeries, das keine Achsen zugeordnet hat.

Siehe auch attachAxis() und detachAxis().

QChart *QAbstractSeries::chart() const

Gibt das Diagramm zurück, zu dem die Serie gehört.

Wird automatisch gesetzt, wenn die Serie dem Diagramm hinzugefügt wird, und deaktiviert, wenn die Serie aus dem Diagramm entfernt wird.

bool QAbstractSeries::detachAxis(QAbstractAxis *axis)

Trennt die durch axis angegebene Achse von der Reihe.

Gibt true zurück, wenn die Achse erfolgreich abgetrennt wurde, andernfalls false.

Siehe auch QChart::removeAxis().

void QAbstractSeries::hide()

Setzt die Sichtbarkeit der Serie auf false.

Siehe auch setVisible() und isVisible().

[signal] void QAbstractSeries::nameChanged()

Dieses Signal wird ausgegeben, wenn sich der Serienname ändert.

Hinweis: Benachrichtigungssignal für die Eigenschaft name.

[signal] void QAbstractSeries::opacityChanged()

Dieses Signal wird ausgegeben, wenn sich die Deckkraft der Reihe ändert.

Hinweis: Benachrichtigungssignal für die Eigenschaft opacity.

void QAbstractSeries::show()

Setzt die Sichtbarkeit der Serie auf true.

Siehe auch setVisible() und isVisible().

[signal] void QAbstractSeries::useOpenGLChanged()

Dieses Signal wird ausgegeben, wenn die Beschleunigung des Zeichnens der Serie durch die Verwendung von OpenGL aktiviert oder deaktiviert ist.

Hinweis: Benachrichtigungssignal für die Eigenschaft useOpenGL.

[signal] void QAbstractSeries::visibleChanged()

Dieses Signal wird ausgesendet, wenn sich die Sichtbarkeit der Serie ändert.

Hinweis: Benachrichtigungssignal für die Eigenschaft visible.

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