Auf dieser Seite

QSurface3DSeries Class

Die Klasse „QSurface3DSeries“ stellt eine Datenreihe in einem 3D-Flächendiagramm dar. Mehr...

Header: #include <QSurface3DSeries>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
In QML: Surface3DSeries
Erbt von: QAbstract3DSeries

Öffentliche Typen

enum DrawFlag { DrawWireframe, DrawSurface, DrawSurfaceAndWireframe, DrawFilledSurface }
flags DrawFlags

Eigenschaften

Öffentliche Funktionen

QSurface3DSeries(QObject *parent = nullptr)
QSurface3DSeries(QSurfaceDataProxy *dataProxy, QObject *parent = nullptr)
virtual ~QSurface3DSeries() override
QValue3DAxis *axisX() const
QValue3DAxis *axisY() const
QValue3DAxis *axisZ() const
void clearArray()
void clearRow(qsizetype rowIndex)
const QSurfaceDataArray &dataArray() const &
QSurfaceDataArray dataArray() &&
QSurfaceDataProxy *dataProxy() const
QSurface3DSeries::DrawFlags drawMode() const
bool isFlatShadingSupported() const
void resetAxisX()
void resetAxisY()
void resetAxisZ()
bool rowsSanitized() const
QPoint selectedPoint() const
void setAxisX(QValue3DAxis *axis)
void setAxisY(QValue3DAxis *axis)
void setAxisZ(QValue3DAxis *axis)
void setDataArray(const QSurfaceDataArray &newDataArray)
void setDataProxy(QSurfaceDataProxy *proxy)
void setDrawMode(QSurface3DSeries::DrawFlags mode)
void setRowsSanitized(bool sanitized)
void setSelectedPoint(QPoint position)
void setShading(const QSurface3DSeries::Shading shading)
void setTexture(const QImage &texture)
void setTextureFile(const QString &filename)
void setWireframeColor(QColor color)
QSurface3DSeries::Shading shading() const
QImage texture() const
QString textureFile() const
QColor wireframeColor() const

Signale

void axisXChanged(QValue3DAxis *axis)
void axisYChanged(QValue3DAxis *axis)
void axisZChanged(QValue3DAxis *axis)
void dataArrayChanged(const QSurfaceDataArray &array)
void dataProxyChanged(QSurfaceDataProxy *proxy)
void drawModeChanged(QSurface3DSeries::DrawFlags mode)
void flatShadingSupportedChanged(bool enabled)
void rowsSanitizedChanged(bool newRowsSanitized)
void selectedPointChanged(QPoint position)
void shadingChanged(const QSurface3DSeries::Shading shading)
void textureChanged(const QImage &image)
void textureFileChanged(const QString &filename)
void wireframeColorChanged(QColor color)

Statische öffentliche Mitglieder

Detaillierte Beschreibung

Diese Klasse verwaltet die serienspezifischen visuellen Elemente sowie die Seriendaten (über einen Daten-Proxy).

In Bezug auf die Beziehung zwischen Proxy und Serie ist es wichtig, einige zentrale Punkte hervorzuheben. In diesem Zusammenhang werden Daten in Serien gespeichert, und Benutzer können über die Serie auf den Datensatz zugreifen. Diese Serie wird durch ein Proxy-Objekt gesteuert oder repräsentiert. Somit kann der Proxy verwendet werden, um verschiedene Operationen an den Daten durchzuführen und den eigentlichen Datensatz zu aktualisieren. Um den Datensatz zu bearbeiten, muss jedoch eine mit diesem Proxy verknüpfte Serie erstellt werden.

Wenn für die Reihe kein Daten-Proxy explizit festgelegt ist, erstellt die Reihe einen Standard-Proxy. Das Festlegen eines anderen Proxys löscht den bestehenden Proxy und alle der Reihe hinzugefügten Daten.

Das über die Eigenschaft „ QAbstract3DSeries::mesh “ festgelegte Objektgitter definiert die Form des Auswahlzeigers in einer Oberflächenreihe.

QSurface3DSeries unterstützt die folgenden Format-Tags für „ QAbstract3DSeries::setItemLabelFormat()“:

@xTitleTitel von der x-Achse
@yTitleTitel von der y-Achse
@zTitleTitel von der z-Achse
@xLabelDer Wert des Elements wird im Format der x-Achse formatiert. Weitere Informationen finden Sie unter QValue3DAxis::labelFormat.
@yLabelElementwert, formatiert nach dem Format der y-Achse. Weitere Informationen finden Sie unter QValue3DAxis::labelFormat.
@zLabelDer Wert des Elements wird im Format der z-Achse formatiert. Weitere Informationen finden Sie unter QValue3DAxis::labelFormat.
@seriesNameName der Reihe

Beispiel:

proxy->setItemLabelFormat(QStringLiteral("@valueTitle for (@rowLabel, @colLabel): %.1f"));

Siehe auch „Qt Graphs “ –Datenverarbeitung mit 3D.

Dokumentation zu den Mitgliedstypen

enum QSurface3DSeries::DrawFlag
flags QSurface3DSeries::DrawFlags

Der Zeichenmodus der Fläche. Die Werte dieser Aufzählung können mit dem OR-Operator kombiniert werden.

KonstanteWertBeschreibung
QSurface3DSeries::DrawWireframe0x1Es wird nur das Gitter gezeichnet.
QSurface3DSeries::DrawSurface0x2Es wird nur die Oberfläche gezeichnet.
QSurface3DSeries::DrawSurfaceAndWireframeDrawWireframe | DrawSurfaceSowohl die Fläche als auch das Gitter werden gezeichnet.
QSurface3DSeries::DrawFilledSurface (since Qt 6.10)0x4Zeichnet eine Füllung für eine Fläche. Durch das Setzen dieses Modus wird auch „DrawSurface“ gesetzt, sofern dies nicht bereits der Fall ist.

Der Typ „DrawFlags“ ist ein typedef für „QFlags<DrawFlag>“. Er speichert eine OR-Kombination von „DrawFlag“-Werten.

Dokumentation der Eigenschaften

[since 6.11] axisX : QValue3DAxis*

Verwendet eine zusätzliche X-Achse für die Reihe. Wenn eine Achse angegeben wird, wird die Reihe an die Minimal- und Maximalwerte dieser Achse angepasst.

Diese Aufzählung wurde in Qt 6.11 eingeführt.

Zugriffsfunktionen:

QValue3DAxis *axisX() const
void setAxisX(QValue3DAxis *axis)
void resetAxisX()

Notifier-Signal:

void axisXChanged(QValue3DAxis *axis)

[since 6.11] axisY : QValue3DAxis*

Verwendet eine zusätzliche Y-Achse für die Reihe. Wenn eine Achse angegeben wird, wird die Reihe an die Minimal- und Maximalwerte dieser Achse angepasst.

Diese Aufzählung wurde in Qt 6.11 eingeführt.

Zugriffsfunktionen:

QValue3DAxis *axisY() const
void setAxisY(QValue3DAxis *axis)
void resetAxisY()

Notifier-Signal:

void axisYChanged(QValue3DAxis *axis)

[since 6.11] axisZ : QValue3DAxis*

Enthält eine zusätzliche Z-Achse für die Reihe. Wenn eine Achse angegeben wird, wird die Reihe an die Minimal- und Maximalwerte dieser Achse angepasst.

Diese Aufzählung wurde in Qt 6.11 eingeführt.

Zugriffsfunktionen:

QValue3DAxis *axisZ() const
void setAxisZ(QValue3DAxis *axis)
void resetAxisZ()

Notifier-Signal:

void axisZChanged(QValue3DAxis *axis)

dataArray : QSurfaceDataArray

Datenarray für die Reihe.

Enthält den Verweis auf das Datenarray.

Das Signal „dataArrayChanged“ wird ausgelöst, wenn das Datenarray festgelegt wird, es sei denn, „ newDataArray “ ist identisch mit dem vorherigen.

Hinweis: Bevor Sie irgendwelche Aktionen bezüglich des „dataArray“ durchführen, muss für den entsprechenden Proxy eine Serie angelegt werden.

Zugriffsfunktionen:

const QSurfaceDataArray &dataArray() const &
QSurfaceDataArray dataArray() &&
void setDataArray(const QSurfaceDataArray &newDataArray)

Notifier-Signal:

void dataArrayChanged(const QSurfaceDataArray &array)

Siehe auch „ clearRow“ (qsizetype rowIndex) und „ clearArray “ ().

dataProxy : QSurfaceDataProxy*

Diese Eigenschaft enthält den aktiven Datenproxy.

Die Reihe übernimmt die Verwaltung aller ihr zugewiesenen Proxys und löscht alle zuvor zugewiesenen Proxys, sobald ein neuer hinzugefügt wird. Der Proxy darf nicht null sein oder auf eine andere Reihe gesetzt werden.

Zugriffsfunktionen:

QSurfaceDataProxy *dataProxy() const
void setDataProxy(QSurfaceDataProxy *proxy)

Benachrichtigungssignal:

void dataProxyChanged(QSurfaceDataProxy *proxy)

drawMode : QSurface3DSeries::DrawFlags

Der Zeichenmodus.

Mögliche Werte sind die Werte von DrawFlag. Das Löschen aller Flags ist nicht zulässig.

Zugriffsfunktionen:

QSurface3DSeries::DrawFlags drawMode() const
void setDrawMode(QSurface3DSeries::DrawFlags mode)

Benachrichtigungssignal:

void drawModeChanged(QSurface3DSeries::DrawFlags mode)

[read-only] flatShadingSupported : bool

Diese Eigenschaft gibt an, ob das aktuelle System Flat Shading für Oberflächen unterstützt.

Für das Flat-Shading von Oberflächen ist mindestens GLSL-Version 1.2 mit der Erweiterung GL_EXT_gpu_shader4 erforderlich. Ist der Wert „ true “, wird das Flat-Shading für Oberflächen unterstützt.

Hinweis: Diese schreibgeschützte Eigenschaft wird nach dem ersten Render-Durchgang auf den korrekten Wert gesetzt. Bis dahin ist sie immer „ true “.

Zugriffsfunktionen:

bool isFlatShadingSupported() const

Notifier-Signal:

void flatShadingSupportedChanged(bool enabled)

rowsSanitized : bool

Diese Eigenschaft legt fest, ob eine Zeilenbereinigung durchgeführt werden soll.

Wenn „ sanitized “ auf „ true “ gesetzt ist, werden Zeilen in der Reihe entfernt, die keine gültigen Daten enthalten.

Hinweis: Dies kann zu einem geringen Leistungsverlust führen.

Zugriffsfunktionen:

bool rowsSanitized() const
void setRowsSanitized(bool sanitized)

Benachrichtigungssignal:

void rowsSanitizedChanged(bool newRowsSanitized)

selectedPoint : QPoint

Diese Eigenschaft enthält den Oberflächengitterpunkt, der in der Reihe ausgewählt ist.

Wählt einen Oberflächengitterpunkt an der Position position im Datenarray der Reihe aus, die durch eine Zeile und eine Spalte angegeben wird.

Es kann jeweils nur ein Punkt ausgewählt werden.

Um die Auswahl aus dieser Reihe zu löschen, wird ` invalidSelectionPosition()` auf ` position` gesetzt. Wird diese Reihe einem Diagramm hinzugefügt, kann das Diagramm die Auswahl entsprechend der Benutzerinteraktion anpassen oder wenn sie ungültig wird.

Das Entfernen oder Einfügen von Zeilen in die Reihe vor der Zeile des ausgewählten Punktes passt die Auswahl so an, dass derselbe Punkt ausgewählt bleibt.

Zugriffsfunktionen:

QPoint selectedPoint() const
void setSelectedPoint(QPoint position)

Benachrichtigungssignal:

void selectedPointChanged(QPoint position)

Siehe auch Q3DGraphsWidgetItem::clearSelection().

shading : QSurface3DSeries::Shading

Diese Eigenschaft legt fest, ob die „Surface Flat Shading“-Funktion aktiviert ist.

Standardmäßig auf „ QSurface3DSeries::Shading::Flat “ voreingestellt.

Ist diese Option deaktiviert, werden die Normalen auf der Oberfläche interpoliert, wodurch die Kanten abgerundet erscheinen. Ist sie aktiviert, bleiben die Normalen innerhalb eines Dreiecks unverändert, wodurch das Dreieck eine einheitliche Farbe erhält. Dadurch lassen sich die Daten des Modells besser erkennen.

Hinweis: Für flach schattierte Oberflächen ist mindestens GLSL-Version 1.2 mit der Erweiterung GL_EXT_gpu_shader4 erforderlich. Der Wert der Eigenschaft „ flatShadingSupported “ gibt an, ob flache Schattierung zur Laufzeit unterstützt wird.

Zugriffsfunktionen:

QSurface3DSeries::Shading shading() const
void setShading(const QSurface3DSeries::Shading shading)

Notifier-Signal:

void shadingChanged(const QSurface3DSeries::Shading shading)

texture : QImage

Diese Eigenschaft enthält die Textur für die Oberfläche als ` QImage`.

Wird ein leerer „ QImage “ festgelegt, wird die Textur gelöscht.

Zugriffsfunktionen:

QImage texture() const
void setTexture(const QImage &texture)

Notifier-Signal:

void textureChanged(const QImage &image)

textureFile : QString

Diese Eigenschaft speichert die Textur für die Oberfläche als Datei.

Durch die Angabe eines leeren Dateinamens wird die Textur gelöscht.

Zugriffsfunktionen:

QString textureFile() const
void setTextureFile(const QString &filename)

Notifier-Signal:

void textureFileChanged(const QString &filename)

wireframeColor : QColor

Diese Eigenschaft legt die Farbe für das Drahtgitter der Oberfläche fest.

Zugriffsfunktionen:

QColor wireframeColor() const
void setWireframeColor(QColor color)

Benachrichtigungssignal:

void wireframeColorChanged(QColor color)

Dokumentation der Member-Funktionen

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

Erstellt eine 3D-Oberflächenreihe mit dem übergeordneten Element „ parent “.

[explicit] QSurface3DSeries::QSurface3DSeries(QSurfaceDataProxy *dataProxy, QObject *parent = nullptr)

Erstellt eine 3D-Oberflächenreihe mit dem Daten-Proxy „ dataProxy “ und dem übergeordneten Element „ parent “.

[override virtual noexcept] QSurface3DSeries::~QSurface3DSeries()

Löscht die 3D-Reihe der Oberfläche.

void QSurface3DSeries::clearArray()

Löscht das vorhandene Array.

void QSurface3DSeries::clearRow(qsizetype rowIndex)

Löscht die vorhandene Zeile im Array gemäß der angegebenen „ rowIndex “.

[static] QPoint QSurface3DSeries::invalidSelectionPosition()

Gibt den Wert „ QPoint “ zurück, der eine ungültige Auswahlposition anzeigt. Dieser Wert wird der Eigenschaft „ selectedPoint “ zugewiesen, um die Auswahl aus dieser Serie zu löschen.

Siehe auch „ Q3DGraphsWidgetItem::clearSelection()“.

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