QCustom3DItem Class
Die Klasse „QCustom3DItem“ fügt einem Diagramm ein benutzerdefiniertes Element hinzu. Mehr...
| Header: | #include <QCustom3DItem> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS DataVisualization) target_link_libraries(mytarget PRIVATE Qt6::DataVisualization) |
| qmake: | QT += datavisualization |
| Seit: | QtDataVisualization 1.1 |
| In QML: | Custom3DItem |
| Erbt von: | QObject |
| Wird vererbt von: | |
| Status: | Veraltet |
Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.
Eigenschaften
|
|
Öffentliche Funktionen
| QCustom3DItem(QObject *parent = nullptr) | |
| QCustom3DItem(const QString &meshFile, const QVector3D &position, const QVector3D &scaling, const QQuaternion &rotation, const QImage &texture, QObject *parent = nullptr) | |
| virtual | ~QCustom3DItem() |
| bool | isPositionAbsolute() const |
| bool | isScalingAbsolute() const |
| bool | isShadowCasting() const |
| bool | isVisible() const |
| QString | meshFile() const |
| QVector3D | position() const |
| QQuaternion | rotation() |
| QVector3D | scaling() const |
| void | setMeshFile(const QString &meshFile) |
| void | setPosition(const QVector3D &position) |
| void | setPositionAbsolute(bool positionAbsolute) |
| void | setRotation(const QQuaternion &rotation) |
| void | setRotationAxisAndAngle(const QVector3D &axis, float angle) |
| void | setScaling(const QVector3D &scaling) |
| void | setScalingAbsolute(bool scalingAbsolute) |
| void | setShadowCasting(bool enabled) |
| void | setTextureFile(const QString &textureFile) |
| void | setTextureImage(const QImage &textureImage) |
| void | setVisible(bool visible) |
| QString | textureFile() const |
Signale
| void | meshFileChanged(const QString &meshFile) |
| void | positionAbsoluteChanged(bool positionAbsolute) |
| void | positionChanged(const QVector3D &position) |
| void | rotationChanged(const QQuaternion &rotation) |
| void | scalingAbsoluteChanged(bool scalingAbsolute) |
| void | scalingChanged(const QVector3D &scaling) |
| void | shadowCastingChanged(bool shadowCasting) |
| void | textureFileChanged(const QString &textureFile) |
| void | visibleChanged(bool visible) |
Detaillierte Beschreibung
Ein benutzerdefiniertes Element verfügt über ein benutzerdefiniertes Mesh, eine Position, eine Skalierung, eine Rotation und eine optionale Textur.
Siehe auch „ QAbstract3DGraph::addCustomItem()“.
Eigenschaftsdokumentation
meshFile : QString
Diese Eigenschaft enthält den Dateinamen des Objekt-Meshes.
Das Objekt in der Datei muss im Wavefront-OBJ-Format vorliegen und Scheitelpunkte, Normalen sowie UV-Koordinaten enthalten. Außerdem muss es aus Dreiecken bestehen. Fehlen in der Datei entweder Normalen oder UV-Koordinaten, schlägt das Laden mit einer Fehlermeldung in der Konsolenausgabe fehl und das Objekt wird nicht gerendert.
Zugriffsfunktionen:
| QString | meshFile() const |
| void | setMeshFile(const QString &meshFile) |
Notifier-Signal:
| void | meshFileChanged(const QString &meshFile) |
position : QVector3D
Diese Eigenschaft speichert die Position des Elements als „ QVector3D “.
Der Standardwert ist „ QVector3D(0.0, 0.0, 0.0) “.
Die Elementposition wird je nach der Eigenschaft „ positionAbsolute “ entweder in Datenkoordinaten oder in absoluten Koordinaten angegeben. Bei Verwendung absoluter Koordinaten liegen Werte zwischen -1.0...1.0 innerhalb der Achsenbereiche.
Hinweis: Elemente , die außerhalb eines Achsenbereichs positioniert sind, werden nicht gerendert, wenn „ positionAbsolute “ auf „ false “ gesetzt ist, es sei denn, es handelt sich um ein „QCustom3DVolume“, das teilweise sichtbar wäre, und „ scalingAbsolute “ ist ebenfalls auf „ false “ gesetzt. In diesem Fall wird der sichtbare Teil des Volumens gerendert.
Zugriffsfunktionen:
| QVector3D | position() const |
| void | setPosition(const QVector3D &position) |
Notifier-Signal:
| void | positionChanged(const QVector3D &position) |
Siehe auch positionAbsolute.
positionAbsolute : bool
Diese Eigenschaft legt fest, ob die Position eines Elements in Datenkoordinaten oder in absoluten Koordinaten behandelt werden soll.
Standardmäßig ist der Wert „ false “ eingestellt. Elemente mit absoluten Koordinaten werden immer dargestellt, während Elemente mit Datenkoordinaten nur dann dargestellt werden, wenn sie sich innerhalb der Achsenbereiche befinden.
Zugriffsfunktionen:
| bool | isPositionAbsolute() const |
| void | setPositionAbsolute(bool positionAbsolute) |
Benachrichtigungssignal:
| void | positionAbsoluteChanged(bool positionAbsolute) |
Siehe auch „ position “.
rotation : QQuaternion
Diese Eigenschaft speichert die Drehung des Elements als „ QQuaternion “.
Standardwert ist „ QQuaternion(0.0, 0.0, 0.0, 0.0) “.
Zugriffsfunktionen:
| QQuaternion | rotation() |
| void | setRotation(const QQuaternion &rotation) |
Benachrichtigungssignal:
| void | rotationChanged(const QQuaternion &rotation) |
scaling : QVector3D
Diese Eigenschaft speichert die Skalierung des Elements als „ QVector3D “.
Der Standardwert ist „ QVector3D(0.1, 0.1, 0.1) “.
Die Skalierung des Elements erfolgt je nach der Eigenschaft „ scalingAbsolute “ entweder anhand von Datenwerten oder anhand von absoluten Werten. Der als absolute Werte interpretierte Standardvektor legt das Element auf 10 % der Höhe des Diagramms fest, vorausgesetzt, das Elementgitter ist normalisiert und die Seitenverhältnisse des Diagramms wurden nicht gegenüber den Standardwerten geändert.
Zugriffsfunktionen:
| QVector3D | scaling() const |
| void | setScaling(const QVector3D &scaling) |
Benachrichtigungssignal:
| void | scalingChanged(const QVector3D &scaling) |
Siehe auch „ scalingAbsolute “.
[since QtDataVisualization 1.2] scalingAbsolute : bool
Diese Eigenschaft legt fest, ob die Skalierung von Elementen anhand von Datenwerten oder anhand von absoluten Werten erfolgen soll.
Standardwert ist „ true “.
Elemente mit absoluter Skalierung werden unabhängig von den Achsenbereichen in derselben Größe dargestellt. Elemente mit Datenskalierung ändern ihre sichtbare Größe entsprechend den Achsenbereichen. Wenn „ positionAbsolute “ auf „ true “ gesetzt ist, wird diese Eigenschaft ignoriert und die Skalierung als absoluter Wert interpretiert. Wenn das Element gedreht ist, wird die Datenskalierung auf das ungedrehte Element angewendet. Ebenso wird bei QCustom3DVolume-Elementen die Bereichsbeschneidung auf das ungedrehte Element angewendet.
Hinweis: Für QCustom3DLabel-Elemente oder für benutzerdefinierte Elemente, die in polar -Diagrammen verwendet werden, wirdnur die absolute Skalierung unterstützt.
Hinweis: Das Mesh des benutzerdefinierten Elements muss auf den Bereich [-1 ,1] normiert sein, da die Datenskalierung andernfalls nicht korrekt ist.
Diese Aufzählung wurde in QtDataVisualization 1.2 eingeführt.
Zugriffsfunktionen:
| bool | isScalingAbsolute() const |
| void | setScalingAbsolute(bool scalingAbsolute) |
Notifier-Signal:
| void | scalingAbsoluteChanged(bool scalingAbsolute) |
Siehe auch scaling und positionAbsolute.
shadowCasting : bool
Diese Eigenschaft legt fest, ob für das Element Schatten geworfen werden.
Der Standardwert ist „ true “. Wenn „ false “ gilt, wirft das Element unabhängig von „ QAbstract3DGraph::ShadowQuality “ keine Schatten.
Zugriffsfunktionen:
| bool | isShadowCasting() const |
| void | setShadowCasting(bool enabled) |
Notifier-Signal:
| void | shadowCastingChanged(bool shadowCasting) |
textureFile : QString
Diese Eigenschaft enthält den Namen der Texturdatei für das Element.
Sind sowohl diese Eigenschaft als auch das Texturbild nicht festgelegt, wird eine einfarbige graue Textur verwendet.
Hinweis: Um Speicherplatz zu sparen, wird die aus der Datei geladene „ QImage “ gelöscht, sobald eine Textur erstellt wurde.
Zugriffsfunktionen:
| QString | textureFile() const |
| void | setTextureFile(const QString &textureFile) |
Benachrichtigungssignal:
| void | textureFileChanged(const QString &textureFile) |
visible : bool
Diese Eigenschaft gibt die Sichtbarkeit des Elements an.
Standardwert ist „ true “.
Zugriffsfunktionen:
| bool | isVisible() const |
| void | setVisible(bool visible) |
Benachrichtigungssignal:
| void | visibleChanged(bool visible) |
Dokumentation der Mitgliedsfunktionen
[explicit] QCustom3DItem::QCustom3DItem(QObject *parent = nullptr)
Erstellt ein benutzerdefiniertes 3D-Element mit dem angegebenen „ parent “.
[explicit] QCustom3DItem::QCustom3DItem(const QString &meshFile, const QVector3D &position, const QVector3D &scaling, const QQuaternion &rotation, const QImage &texture, QObject *parent = nullptr)
Erstellt ein benutzerdefiniertes 3D-Objekt mit den angegebenen Werten für „ meshFile “, „ position “, „ scaling “, „ rotation “, „ texture “ sowie optional „ parent “.
[virtual noexcept] QCustom3DItem::~QCustom3DItem()
Löscht das benutzerdefinierte 3D-Element.
[invokable] void QCustom3DItem::setRotationAxisAndAngle(const QVector3D &axis, float angle)
Eine Hilfsfunktion zum Erstellen des Rotationsquaternions aus axis und angle.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
Siehe auch rotation.
void QCustom3DItem::setTextureImage(const QImage &textureImage)
Legt den Wert von „ textureImage “ als „ QImage “ für das Element fest. Die Textur ist standardmäßig einheitlich grau.
Hinweis: Um Speicherplatz zu sparen, wird die angegebene „ QImage “ nach dem Erstellen einer Textur gelöscht.
© 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.