QSurface3DSeries Class

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

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

Öffentliche Typen

enum DrawFlag { DrawWireframe, DrawSurface, DrawSurfaceAndWireframe }
flags DrawFlags

Eigenschaften

Öffentliche Funktionen

QSurface3DSeries(QObject *parent = nullptr)
QSurface3DSeries(QSurfaceDataProxy *dataProxy, QObject *parent = nullptr)
virtual ~QSurface3DSeries() override
void clearArray()
void clearRow(qsizetype rowIndex)
QSurfaceDataArray dataArray() &&
const QSurfaceDataArray &dataArray() const &
QSurfaceDataProxy *dataProxy() const
QSurface3DSeries::DrawFlags drawMode() const
bool isFlatShadingSupported() const
QPoint selectedPoint() const
void setDataArray(const QSurfaceDataArray &newDataArray)
void setDataProxy(QSurfaceDataProxy *proxy)
void setDrawMode(QSurface3DSeries::DrawFlags mode)
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 dataArrayChanged(const QSurfaceDataArray &array)
void dataProxyChanged(QSurfaceDataProxy *proxy)
void drawModeChanged(QSurface3DSeries::DrawFlags mode)
void flatShadingSupportedChanged(bool enabled)
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 sowohl die serienspezifischen visuellen Elemente als auch die Seriendaten (über einen Daten-Proxy).

In Bezug auf die Beziehung zwischen Proxy und Serie sind einige wichtige Punkte hervorzuheben. In diesem Zusammenhang werden die Daten in Reihen gespeichert, und die Benutzer können über die Reihen auf den Datensatz zugreifen. Diese Serie wird durch ein Proxy-Objekt kontrolliert oder repräsentiert. So kann das Proxy-Objekt verwendet werden, um verschiedene Operationen an den Daten durchzuführen und den eigentlichen Datensatz zu aktualisieren. Zur Bearbeitung des Datensatzes ist es jedoch erforderlich, eine mit diesem Proxy verknüpfte Serie zu erstellen.

Wenn kein Daten-Proxy explizit für die Serie festgelegt wird, erstellt die Serie ein Standard-Proxy. Wenn Sie einen anderen Proxy festlegen, werden der vorhandene Proxy und alle zur Serie hinzugefügten Daten zerstört.

Das über die Eigenschaft QAbstract3DSeries::mesh eingestellte Objektnetz definiert die Form des Auswahlzeigers in einer Oberflächenserie.

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

@xTitleTitel der x-Achse
@yTitelTitel von der y-Achse
@zTitelTitel von der z-Achse
@xLabelElementwert, formatiert unter Verwendung des Formats der x-Achse. Für weitere Informationen siehe QValue3DAxis::labelFormat.
@yBeschriftungElementwert, formatiert unter Verwendung des Formats der y-Achse. Für weitere Informationen, siehe QValue3DAxis::labelFormat.
@zBeschriftungElementwert, formatiert unter Verwendung des Formats der z-Achse. Für weitere Informationen, siehe QValue3DAxis::labelFormat.
@ReihennameName der Reihe

Zum Beispiel:

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

Siehe auch Qt Graphs Datenverarbeitung mit 3D.

Dokumentation der Mitgliedstypen

enum QSurface3DSeries::DrawFlag
flags QSurface3DSeries::DrawFlags

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

KonstanteWertBeschreibung
QSurface3DSeries::DrawWireframe1Nur das Gitter wird gezeichnet.
QSurface3DSeries::DrawSurface2Es wird nur die Oberfläche gezeichnet.
QSurface3DSeries::DrawSurfaceAndWireframeDrawWireframe | DrawSurfaceSowohl die Oberfläche als auch das Gitter werden gezeichnet.

Der Typ DrawFlags ist ein Typedef für QFlags<DrawFlag>. Er speichert eine ODER-Kombination von DrawFlag-Werten.

Dokumentation der Eigenschaften

dataArray : QSurfaceDataArray

Daten-Array für die Serie.

Enthält den Verweis auf das Datenarray.

Das Signal dataArrayChanged wird ausgegeben, wenn das Datenarray gesetzt wird, es sei denn, newDataArray ist mit dem vorherigen identisch.

Hinweis: Bevor irgendetwas bezüglich des dataArray getan werden kann, muss eine Serie für den entsprechenden Proxy erstellt 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 Daten-Proxy.

Die Reihe übernimmt den Besitz aller Proxys, die ihr zugeordnet sind, und löscht alle zuvor eingestellten Proxys, wenn ein neuer hinzugefügt wird. Der Proxy kann nicht ungültig sein oder auf eine andere Serie 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 erlaubt.

Zugriffsfunktionen:

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

Melder-Signal:

void drawModeChanged(QSurface3DSeries::DrawFlags mode)

[read-only] flatShadingSupported : const bool

Diese Eigenschaft gibt an, ob Flat Shading für Oberflächen vom aktuellen System unterstützt wird.

Flat Shading für Oberflächen erfordert mindestens GLSL Version 1.2 mit GL_EXT_gpu_shader4 Erweiterung. Wenn true, wird Flat Shading für Oberflächen unterstützt.

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

Zugriffsfunktionen:

bool isFlatShadingSupported() const

Benachrichtigungssignal:

void flatShadingSupportedChanged(bool enabled)

selectedPoint : QPoint

Diese Eigenschaft enthält den Oberflächenrasterpunkt, der in der Serie ausgewählt ist.

Wählt einen Oberflächenrasterpunkt an der Position position im Datenfeld der durch eine Zeile und eine Spalte angegebenen Serie aus.

Es kann jeweils nur ein Punkt ausgewählt werden.

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

Das Entfernen von Zeilen aus der Reihe oder das 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)

Melder-Signal:

void selectedPointChanged(QPoint position)

Siehe auch Q3DGraphsWidgetItem::clearSelection().

shading : QSurface3DSeries::Shading

Diese Eigenschaft bestimmt, ob die flache Schattierung der Oberfläche aktiviert ist.

Standardmäßig ist sie auf QSurface3DSeries::Shading::Flat voreingestellt.

Wenn sie deaktiviert ist, werden die Normalen auf der Oberfläche interpoliert, wodurch die Kanten rund aussehen. Wenn sichtbar, werden die Normalen auf einem Dreieck gleich gehalten, wodurch die Farbe des Dreiecks einfarbig wird. Dadurch werden die Daten im Modell besser lesbar.

Hinweis: Flache schattierte Oberflächen erfordern mindestens GLSL Version 1.2 mit GL_EXT_gpu_shader4 Erweiterung. Der Wert der Eigenschaft flatShadingSupported zeigt an, ob Flat Shading zur Laufzeit unterstützt wird.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void shadingChanged(const QSurface3DSeries::Shading shading)

texture : QImage

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

Das Setzen eines leeren QImage löscht die Textur.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void textureChanged(const QImage &image)

textureFile : QString

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

Das Setzen eines leeren Dateinamens löscht die Textur.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void textureFileChanged(const QString &filename)

wireframeColor : QColor

Diese Eigenschaft enthält die Farbe für das Drahtgitter der Oberfläche.

Zugriffsfunktionen:

QColor wireframeColor() const
void setWireframeColor(QColor color)

Benachrichtigungssignal:

void wireframeColorChanged(QColor color)

Member Function Dokumentation

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

Konstruiert eine 3D-Flächenreihe mit dem übergeordneten parent.

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

Konstruiert eine 3D-Oberflächenserie mit dem Datenproxy dataProxy und dem übergeordneten parent.

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

Löscht die 3D-Oberflächenserie.

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 die QPoint zurück, die eine ungültige Auswahlposition angibt. Diese wird auf die Eigenschaft selectedPoint gesetzt, um die Auswahl aus dieser Serie zu löschen.

Siehe auch Q3DGraphsWidgetItem::clearSelection().

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