QSurfaceDataProxy Class
Die Klasse „QSurfaceDataProxy“ ist der Daten-Proxy für einen 3D-Oberflächengraphen. Mehr...
| Header: | #include <QSurfaceDataProxy> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS DataVisualization) target_link_libraries(mytarget PRIVATE Qt6::DataVisualization) |
| qmake: | QT += datavisualization |
| Seit: | QtDataVisualization 1.0 |
| In QML: | SurfaceDataProxy |
| Erbt von: | QAbstractDataProxy |
| Vererbt an: | |
| Status: | Veraltet |
Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.
Eigenschaften
- columnCount : int
- rowCount : int
- series : QSurface3DSeries*
Öffentliche Funktionen
| QSurfaceDataProxy(QObject *parent = nullptr) | |
| virtual | ~QSurfaceDataProxy() |
| int | addRow(QSurfaceDataRow *row) |
| int | addRows(const QSurfaceDataArray &rows) |
| const QSurfaceDataArray * | array() const |
| int | columnCount() const |
| void | insertRow(int rowIndex, QSurfaceDataRow *row) |
| void | insertRows(int rowIndex, const QSurfaceDataArray &rows) |
| const QSurfaceDataItem * | itemAt(const QPoint &position) const |
| const QSurfaceDataItem * | itemAt(int rowIndex, int columnIndex) const |
| void | removeRows(int rowIndex, int removeCount) |
| void | resetArray(QSurfaceDataArray *newArray) |
| int | rowCount() const |
| QSurface3DSeries * | series() const |
| void | setItem(const QPoint &position, const QSurfaceDataItem &item) |
| void | setItem(int rowIndex, int columnIndex, const QSurfaceDataItem &item) |
| void | setRow(int rowIndex, QSurfaceDataRow *row) |
| void | setRows(int rowIndex, const QSurfaceDataArray &rows) |
Signale
| void | arrayReset() |
| void | columnCountChanged(int count) |
| void | itemChanged(int rowIndex, int columnIndex) |
| void | rowCountChanged(int count) |
| void | rowsAdded(int startIndex, int count) |
| void | rowsChanged(int startIndex, int count) |
| void | rowsInserted(int startIndex, int count) |
| void | rowsRemoved(int startIndex, int count) |
| void | seriesChanged(QSurface3DSeries *series) |
Zugehörige Nicht-Mitglieder
Detaillierte Beschreibung
Ein Oberflächen-Daten-Proxy verarbeitet oberflächenbezogene Daten in Zeilen. Hierfür stellt er zwei Hilfs-Typdefinitionen bereit: `QtDataVisualization::QSurfaceDataArray` und `QtDataVisualization::QSurfaceDataRow`. ` QSurfaceDataArray ` ist ein ` QList `, der die Zeilen verwaltet. ` QSurfaceDataRow ` ist ein ` QList `, der ` QSurfaceDataItem `-Objekte enthält. Weitere Informationen dazu, wie die Daten an den Proxy übergeben werden, finden Sie im Beispielcode in der Dokumentation zu „ Q3DSurface “.
Alle Zeilen müssen die gleiche Anzahl von Elementen aufweisen.
„QSurfaceDataProxy“ übernimmt die Eigentümerschaft an allen „ QSurfaceDataRow “-Objekten, die an ihn übergeben werden, sei es direkt oder in einem „ QSurfaceDataArray “-Container. Um Oberflächen-Datenzeiger zu verwenden und Daten nach dem Hinzufügen des Arrays zum Proxy direkt zu ändern, muss das entsprechende Signal ausgelöst werden, um den Graphen zu aktualisieren.
Um eine sinnvolle Oberfläche zu erzeugen, muss der x-Wert jedes aufeinanderfolgenden Elements in allen Zeilen über die gesamte Zeile hinweg entweder aufsteigend oder absteigend sein. Ebenso muss der z-Wert jedes aufeinanderfolgenden Elements in allen Spalten über die gesamte Spalte hinweg entweder aufsteigend oder absteigend sein.
Hinweis: Derzeit werden nur Oberflächen mit geraden Zeilen und Spalten vollständig unterstützt. Jede Zeile mit Elementen, die nicht genau denselben z-Wert aufweisen, oder jede Spalte mit Elementen, die nicht genau denselben x-Wert aufweisen, kann möglicherweise falsch beschnitten werden, wenn die gesamte Oberfläche nicht vollständig in die sichtbaren Bereiche der x- oder z-Achse passt.
Hinweis: Oberflächen mit weniger als zwei Zeilen oder Spalten gelten nicht als gültige Oberflächen und werden nicht gerendert.
Hinweis: In einigen Umgebungen werden Oberflächen mit vielen sichtbaren Eckpunkten möglicherweise nicht gerendert, da sie die vom Grafiktreiber unterstützte Anzahl an Eckpunkten pro Zeichnungsvorgang überschreiten. Dies ist vor allem auf 32-Bit- und OpenGL ES2-Plattformen ein Problem.
Siehe auch „Qt Data Visualization -Datenverarbeitung“.
Dokumentation zu den Eigenschaften
[read-only] columnCount : int
Diese Eigenschaft enthält die Anzahl der Spalten im Datenarray.
Zugriffsfunktionen:
| int | columnCount() const |
Benachrichtigungssignal:
| void | columnCountChanged(int count) |
[read-only] rowCount : int
Diese Eigenschaft enthält die Anzahl der Zeilen im Datenarray.
Zugriffsfunktionen:
| int | rowCount() const |
Benachrichtigungssignal:
| void | rowCountChanged(int count) |
[read-only] series : QSurface3DSeries*
Diese Eigenschaft enthält die Serie, an die dieser Proxy angehängt ist.
Zugriffsfunktionen:
| QSurface3DSeries * | series() const |
Benachrichtigungssignal:
| void | seriesChanged(QSurface3DSeries *series) |
Dokumentation der Mitgliedsfunktionen
[explicit] QSurfaceDataProxy::QSurfaceDataProxy(QObject *parent = nullptr)
Erstellt ein `QSurfaceDataProxy`-Objekt mit dem angegebenen ` parent`.
[virtual noexcept] QSurfaceDataProxy::~QSurfaceDataProxy()
Löscht den Proxy für die Oberflächendaten.
int QSurfaceDataProxy::addRow(QSurfaceDataRow *row)
Fügt die neue Zeile „ row “ am Ende eines Arrays hinzu. Die neue Zeile muss dieselbe Anzahl an Spalten haben wie die Zeilen im ursprünglichen Array.
Gibt den Index der hinzugefügten Zeile zurück.
int QSurfaceDataProxy::addRows(const QSurfaceDataArray &rows)
Fügt am Ende eines Arrays neue Zeilen ( rows ) hinzu. Die neuen Zeilen müssen dieselbe Anzahl an Spalten haben wie die Zeilen im ursprünglichen Array.
Gibt den Index der ersten hinzugefügten Zeile zurück.
const QSurfaceDataArray *QSurfaceDataProxy::array() const
Gibt den Zeiger auf das Datenarray zurück.
[signal] void QSurfaceDataProxy::arrayReset()
Dieses Signal wird ausgelöst, wenn das Datenarray zurückgesetzt wird. Wenn der Inhalt des gesamten Arrays geändert wird, ohne dass die Funktion ` resetArray()` aufgerufen wird, muss dieses Signal ausgelöst werden, um die Grafik zu aktualisieren.
void QSurfaceDataProxy::insertRow(int rowIndex, QSurfaceDataRow *row)
Fügt die neue Zeile „ row “ in „ rowIndex “ ein. Wenn „ rowIndex “ der Größe des Arrays entspricht, werden die Zeilen am Ende des Arrays angehängt. Die neue Zeile muss dieselbe Anzahl an Spalten haben wie die Zeilen im ursprünglichen Array.
void QSurfaceDataProxy::insertRows(int rowIndex, const QSurfaceDataArray &rows)
Fügt das neue Array „ rows “ in das Array „ rowIndex “ ein. Wenn „ rowIndex “ der Größe des Arrays entspricht, werden die Zeilen am Ende des Arrays angehängt. Das neue Array „ rows “ muss dieselbe Anzahl an Spalten haben wie das ursprüngliche Array.
const QSurfaceDataItem *QSurfaceDataProxy::itemAt(const QPoint &position) const
Gibt den Zeiger auf das Element an der Position „ position “ zurück. Der x-Wert von „ position “ gibt die Zeile an, der y-Wert die Spalte. Das Element ist garantiert nur bis zum nächsten Aufruf gültig, der die Daten ändert.
const QSurfaceDataItem *QSurfaceDataProxy::itemAt(int rowIndex, int columnIndex) const
Gibt den Zeiger auf das Element an der Position zurück, die durch rowIndex und columnIndex angegeben wird. Es wird garantiert, dass dieser Zeiger nur bis zum nächsten Aufruf gültig ist, der die Daten verändert.
[signal] void QSurfaceDataProxy::itemChanged(int rowIndex, int columnIndex)
Dieses Signal wird ausgelöst, wenn sich das Element an der durch rowIndex und columnIndex angegebenen Position ändert. Wird das Element im Array geändert, ohne dass setItem() aufgerufen wird, muss dieses Signal ausgelöst werden, um die Grafik zu aktualisieren.
void QSurfaceDataProxy::removeRows(int rowIndex, int removeCount)
Entfernt die durch ` removeCount ` angegebene Anzahl von Zeilen, beginnend an der Position ` rowIndex`. Der Versuch, Zeilen jenseits des Endes des Arrays zu entfernen, hat keine Auswirkungen.
void QSurfaceDataProxy::resetArray(QSurfaceDataArray *newArray)
Übernimmt die Verantwortung für das Array „ newArray “. Löscht das vorhandene Array, wenn sich das neue Array davon unterscheidet. Sind die Arrays identisch, löst diese Funktion lediglich das Signal „ arrayReset()“ aus.
Wird ein Null-Array übergeben, wird das alte Array gelöscht und ein neues leeres Array erstellt. Alle Zeilen in ` newArray ` müssen dieselbe Länge haben.
[signal] void QSurfaceDataProxy::rowsAdded(int startIndex, int count)
Dieses Signal wird ausgelöst, wenn die durch ` count ` angegebene Anzahl von Zeilen beginnend an der Position ` startIndex` hinzugefügt wird. Werden Zeilen zum Array hinzugefügt, ohne dass ` addRow()` oder ` addRows()` aufgerufen wird, muss dieses Signal ausgelöst werden, um das Diagramm zu aktualisieren.
[signal] void QSurfaceDataProxy::rowsChanged(int startIndex, int count)
Dieses Signal wird ausgelöst, wenn die durch ` count ` angegebene Anzahl von Zeilen ab der Position ` startIndex` geändert wird. Werden Zeilen im Array geändert, ohne dass ` setRow()` oder ` setRows()` aufgerufen wird, muss dieses Signal ausgelöst werden, um das Diagramm zu aktualisieren.
[signal] void QSurfaceDataProxy::rowsInserted(int startIndex, int count)
Dieses Signal wird ausgelöst, wenn die durch ` count ` angegebene Anzahl von Zeilen an der Position ` startIndex` eingefügt wird.
Werden Zeilen in das Array eingefügt, ohne dass insertRow() oder insertRows() aufgerufen wird, muss dieses Signal ausgelöst werden, um das Diagramm zu aktualisieren.
[signal] void QSurfaceDataProxy::rowsRemoved(int startIndex, int count)
Dieses Signal wird ausgelöst, wenn die durch ` count ` angegebene Anzahl von Zeilen beginnend an der Position ` startIndex` entfernt wird.
Der Index entspricht der aktuellen Array-Größe, wenn die Zeilen vom Ende des Arrays entfernt wurden. Werden Zeilen aus dem Array entfernt, ohne dass ` removeRows()` aufgerufen wird, muss dieses Signal ausgelöst werden, um das Diagramm zu aktualisieren.
void QSurfaceDataProxy::setItem(const QPoint &position, const QSurfaceDataItem &item)
Ändert ein einzelnes Element an der Position position in das Element item. Der x-Wert von position gibt die Zeile an, der y-Wert die Spalte.
void QSurfaceDataProxy::setItem(int rowIndex, int columnIndex, const QSurfaceDataItem &item)
Ändert ein einzelnes Element an der durch „ rowIndex “ und „ columnIndex “ angegebenen Position in das Element „ item “.
void QSurfaceDataProxy::setRow(int rowIndex, QSurfaceDataRow *row)
Ändert eine vorhandene Zeile, indem die Zeile an der Position rowIndex durch die neue Zeile ersetzt wird, die durch row angegeben ist. Die neue Zeile kann mit der bereits unter rowIndex gespeicherten Zeile identisch sein. Die neue Zeile muss dieselbe Anzahl an Spalten aufweisen wie die Zeile, die sie ersetzt.
void QSurfaceDataProxy::setRows(int rowIndex, const QSurfaceDataArray &rows)
Ändert vorhandene Zeilen, indem die Zeilen ab der Position rowIndex durch die neuen Zeilen ersetzt werden, die durch rows angegeben sind. Die Zeilen im Array rows können mit den bereits unter rowIndex gespeicherten Zeilen übereinstimmen. Die neuen Zeilen müssen dieselbe Anzahl an Spalten haben wie die Zeilen, die sie ersetzen.
Verwandte Nicht-Mitglieder
QSurfaceDataArray
Eine Liste von Zeigern auf „ QSurfaceDataRow “-Objekte.
QSurfaceDataRow
Eine Liste von „ QSurfaceDataItem “-Objekten.
© 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.