Auf dieser Seite

QChartView Class

Die QChartView ist ein eigenständiges Widget, das Diagramme anzeigen kann. Mehr...

Header: #include <QChartView>
Inherits: QGraphicsView
Status: Deprecated

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

Öffentliche Typen

(since 6.2) enum RubberBand { NoRubberBand, VerticalRubberBand, HorizontalRubberBand, RectangleRubberBand, ClickThroughRubberBand }
flags RubberBands

Öffentliche Funktionen

QChartView(QWidget *parent = nullptr)
QChartView(QChart *chart, QWidget *parent = nullptr)
virtual ~QChartView()
QChart *chart() const
QChartView::RubberBands rubberBand() const
void setChart(QChart *chart)
void setRubberBand(const QChartView::RubberBands &rubberBand)

Neu implementierte geschützte Funktionen

virtual void mouseMoveEvent(QMouseEvent *event) override
virtual void mousePressEvent(QMouseEvent *event) override
virtual void mouseReleaseEvent(QMouseEvent *event) override
virtual void resizeEvent(QResizeEvent *event) override

Ausführliche Beschreibung

Eine Diagrammansicht benötigt kein „ QGraphicsScene “-Objekt, um zu funktionieren. Um ein Diagramm in einem bestehenden „ QGraphicsScene “ anzuzeigen, sollte stattdessen die Klasse „ QChart “ oder „ QPolarChart “ verwendet werden.

Siehe auch „ QChart “ und „ QPolarChart “.

Dokumentation zu Mitgliedstypen

[since 6.2] enum QChartView::RubberBand
flags QChartView::RubberBands

Diese Aufzählung beschreibt die verschiedenen Arten von „Gummiband“-Effekten, die auf den rechteckigen Zoom-Bereich angewendet werden können.

KonstanteWertBeschreibung
QChartView::NoRubberBand0x0Es ist kein Zoom-Bereich festgelegt, daher ist das Zoomen nicht aktiviert.
QChartView::VerticalRubberBand0x1Das Gummiband ist horizontal an die Größe des Diagramms gebunden und kann vertikal gezogen werden, um den Zoom-Bereich festzulegen.
QChartView::HorizontalRubberBand0x2Das Gummiband ist vertikal an die Größe des Diagramms angepasst und kann horizontal gezogen werden, um den Zoom-Bereich festzulegen.
QChartView::RectangleRubberBand0x3Das Auswahlband ist an dem angeklickten Punkt fixiert und kann sowohl vertikal als auch horizontal gezogen werden.
QChartView::ClickThroughRubberBand0x80Eine Option für die oben genannten Auswahlmodi des Gummibands, die es ermöglicht, Linksklicks an Diagrammelemente weiterzuleiten, sofern diese Diagrammelemente Klicks akzeptieren. Um diese Option auszuwählen, kombinieren Sie sie mit einem der Auswahlmodi für das Gummiband.

Diese Enumeration wurde in Qt 6.2 eingeführt.

Der Typ „RubberBands“ ist ein typedef für QFlags<RubberBand>. Er speichert eine ODER-Kombination von RubberBand-Werten.

Dokumentation der Mitgliedsfunktionen

[explicit] QChartView::QChartView(QWidget *parent = nullptr)

Erstellt ein Diagrammansichtsobjekt mit der übergeordneten „ parent “.

[explicit] QChartView::QChartView(QChart *chart, QWidget *parent = nullptr)

Erstellt ein Diagrammansichtsobjekt mit dem übergeordneten Element ` parent `, um das Diagramm ` chart` anzuzeigen. Die Eigentümerschaft am Diagramm wird an die Diagrammansicht übergeben.

[virtual noexcept] QChartView::~QChartView()

Löscht das Diagrammansichtsobjekt und das zugehörige Diagramm.

QChart *QChartView::chart() const

Gibt den Zeiger auf das zugehörige Diagramm zurück.

Siehe auch „ setChart()“.

[override virtual protected] void QChartView::mouseMoveEvent(QMouseEvent *event)

Implementiert: QGraphicsView::mouseMoveEvent(QMouseEvent *event).

Wird das „Rubber-Band“-Rechteck im durch event angegebenen Druckereignis angezeigt, werden die Ereignisdaten zur Aktualisierung der „Rubber-Band“-Geometrie verwendet. Andernfalls wird die Standardimplementierung von QGraphicsView::mouseMoveEvent() aufgerufen.

[override virtual protected] void QChartView::mousePressEvent(QMouseEvent *event)

Implementiert: QGraphicsView::mousePressEvent(QMouseEvent *event).

Wenn die linke Maustaste gedrückt wird und das Gummiband aktiviert ist, wird das Ereignis „ event “ angenommen und das Gummiband auf dem Bildschirm angezeigt. Dadurch kann der Benutzer den Zoom-Bereich auswählen.

Wird eine andere Maustaste gedrückt oder ist das Gummiband deaktiviert, wird das Ereignis an ` QGraphicsView::mousePressEvent()` weitergeleitet.

[override virtual protected] void QChartView::mouseReleaseEvent(QMouseEvent *event)

Implementiert: ` QGraphicsView::mouseReleaseEvent` (QMouseEvent *event).

Wird die linke Maustaste losgelassen und ist das „Rubber Band“ aktiviert, wird das Ereignis „ event “ akzeptiert und die Ansicht wird auf das durch das „Rubber Band“ festgelegte Rechteck vergrößert. Wurde das Ereignis durch das Loslassen der rechten Maustaste ausgelöst, wird die Ansicht verkleinert.

[override virtual protected] void QChartView::resizeEvent(QResizeEvent *event)

Implementiert: QGraphicsView::resizeEvent(QResizeEvent *event).

Passen Sie die Größe des Diagrammbereichs an und aktualisieren Sie ihn anhand der von ` event` angegebenen Daten.

QChartView::RubberBands QChartView::rubberBand() const

Gibt die „Rubber-Band“-Flags zurück, die derzeit von der Diagrammansicht verwendet werden.

Siehe auch „ setRubberBand()“.

void QChartView::setChart(QChart *chart)

Setzt das aktuelle Diagramm auf „ chart “. Die Eigentumsrechte am neuen Diagramm werden an die Diagrammansicht übergeben, und die Eigentumsrechte am vorherigen Diagramm werden freigegeben.

Um Speicherlecks zu vermeiden, muss das vorherige Diagramm gelöscht werden.

Siehe auch „ chart()“.

void QChartView::setRubberBand(const QChartView::RubberBands &rubberBand)

Setzt die „Rubber Band“-Flags auf „ rubberBand “. Die ausgewählten Flags legen fest, wie das Zoomen durchgeführt wird.

Hinweis: Das „Rubber -Band“-Zoomen wird für Polardiagramme nicht unterstützt.

Siehe auch „ rubberBand()“.

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