QCustom3DItem Class
La classe QCustom3DItem ajoute un élément personnalisé à un graphique. Plus d'informations...
| En-tête : | #include <QCustom3DItem> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Graphs)target_link_libraries(mytarget PRIVATE Qt6::Graphs) |
| qmake : | QT += graphs |
| En QML : | Custom3DItem |
| Hérite : | QObject |
| Héritée par : |
- Liste de tous les membres, y compris les membres hérités
- QCustom3DItem fait partie de Qt Graphs C++ Classes for 3D.
Propriétés
|
|
Fonctions publiques
| QCustom3DItem(QObject *parent = nullptr) | |
| QCustom3DItem(const QString &meshFile, QVector3D position, QVector3D scaling, const QQuaternion &rotation, const QImage &texture, QObject *parent = nullptr) | |
| virtual | ~QCustom3DItem() override |
| bool | isPositionAbsolute() const |
| bool | isRotationAbsolute() 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(QVector3D position) |
| void | setPositionAbsolute(bool positionAbsolute) |
| void | setRotation(const QQuaternion &rotation) |
| void | setRotationAbsolute(bool rotationAbsolute) |
| void | setRotationAxisAndAngle(QVector3D axis, float angle) |
| void | setScaling(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 |
Signaux
| void | meshFileChanged(const QString &meshFile) |
| void | positionAbsoluteChanged(bool positionAbsolute) |
| void | positionChanged(QVector3D position) |
| void | rotationAbsoluteChanged(bool newRotationAbsolute) |
| void | rotationChanged(const QQuaternion &rotation) |
| void | scalingAbsoluteChanged(bool scalingAbsolute) |
| void | scalingChanged(QVector3D scaling) |
| void | shadowCastingChanged(bool shadowCasting) |
| void | textureFileChanged(const QString &textureFile) |
| void | visibleChanged(bool visible) |
Description détaillée
Un élément personnalisé possède un maillage personnalisé, une position, une mise à l'échelle, une rotation et une texture optionnelle.
Voir également Q3DGraphsWidgetItem::addCustomItem().
Documentation sur les propriétés
meshFile : QString
Cette propriété contient le nom du fichier de maillage de l'élément.
L'élément contenu dans le fichier doit être au format mesh. Les autres types peuvent être convertis par l'outil d'importation d'actifs de Balsam. Il est recommandé d'inclure les sommets, les normales et les UV dans les fichiers de maillage.
Fonctions d'accès :
| QString | meshFile() const |
| void | setMeshFile(const QString &meshFile) |
Signal de notification :
| void | meshFileChanged(const QString &meshFile) |
position : QVector3D
Cette propriété contient la position de l'élément sous forme de QVector3D.
La valeur par défaut est QVector3D(0.0, 0.0, 0.0).
La position de l'élément est spécifiée soit en coordonnées de données, soit en coordonnées absolues, en fonction de la propriété positionAbsolute. Lors de l'utilisation de coordonnées absolues, les valeurs comprises entre -1.0...1.0 se situent à l'intérieur des plages d'axes.
Remarque : les éléments positionnés en dehors de toute plage d'axes ne sont pas rendus si positionAbsolute est false, sauf s'il s'agit d'un élément QCustom3DVolume qui serait partiellement visible et que scalingAbsolute est également false. Dans ce cas, la partie visible du volume sera rendue.
Fonctions d'accès :
| QVector3D | position() const |
| void | setPosition(QVector3D position) |
Signal de notification :
| void | positionChanged(QVector3D position) |
Voir aussi positionAbsolute.
positionAbsolute : bool
Cette propriété indique si la position de l'élément doit être traitée en coordonnées de données ou en coordonnées absolues.
La valeur par défaut est false. Les éléments dont les coordonnées sont absolues sont toujours rendus, tandis que les éléments dont les coordonnées sont des données ne sont rendus que s'ils se situent dans les plages de l'axe.
Fonctions d'accès :
| bool | isPositionAbsolute() const |
| void | setPositionAbsolute(bool positionAbsolute) |
Signal du notificateur :
| void | positionAbsoluteChanged(bool positionAbsolute) |
Voir également position.
rotation : QQuaternion
Cette propriété contient la rotation de l'article sous forme de QQuaternion.
La valeur par défaut est QQuaternion(0.0, 0.0, 0.0, 0.0).
Fonctions d'accès :
| QQuaternion | rotation() |
| void | setRotation(const QQuaternion &rotation) |
Signal de notification :
| void | rotationChanged(const QQuaternion &rotation) |
[since 6.11] rotationAbsolute : bool
Cette propriété indique si la rotation de l'élément doit être traitée en coordonnées d'axe de données ou en coordonnées absolues.
Définit si la rotation de l'élément doit être gérée en valeurs de données ou en valeurs absolues. La valeur par défaut est true. Les éléments avec une rotation absolue seront tournés avec les coordonnées par défaut, quel que soit l'axe. Les éléments dont la rotation est basée sur des données seront tournés en fonction des coordonnées de l'axe.
Cette propriété a été introduite dans Qt 6.11.
Fonctions d'accès :
| bool | isRotationAbsolute() const |
| void | setRotationAbsolute(bool rotationAbsolute) |
Signal Notifier :
| void | rotationAbsoluteChanged(bool newRotationAbsolute) |
Voir aussi rotation.
scaling : QVector3D
Cette propriété contient l'échelle de l'article sous forme de QVector3D.
La valeur par défaut est QVector3D(0.1, 0.1, 0.1).
La mise à l'échelle de l'élément se fait soit en valeurs de données, soit en valeurs absolues, en fonction de la propriété scalingAbsolute. Le vecteur par défaut interprété en valeurs absolues définit l'élément à 10% de la hauteur du graphique, à condition que le maillage de l'élément soit normalisé et que les rapports d'aspect du graphique n'aient pas été modifiés par rapport aux valeurs par défaut.
Note : Dans Qt 6.8, les modèles étaient incorrectement supposés être mis à l'échelle à une taille de 1 (-0.5...0.5) par défaut, alors qu'ils sont en réalité mis à l'échelle à une taille de 2 (-1...1). À cause de cela, tous les éléments personnalisés à partir de Qt 6.9 sont deux fois plus grands que dans Qt 6.8.
Fonctions d'accès :
| QVector3D | scaling() const |
| void | setScaling(QVector3D scaling) |
Signal Notifier :
| void | scalingChanged(QVector3D scaling) |
Voir aussi scalingAbsolute.
scalingAbsolute : bool
Cette propriété indique si la mise à l'échelle des éléments doit être traitée en valeurs de données ou en valeurs absolues.
La valeur par défaut est true.
Les éléments dont la mise à l'échelle est absolue seront rendus à la même taille, quelles que soient les plages des axes. Les éléments avec une mise à l'échelle des données changeront leur taille apparente en fonction des plages de l'axe. Si positionAbsolute est true, cette propriété est ignorée et la mise à l'échelle est interprétée comme une valeur absolue. Si l'élément a une rotation, la mise à l'échelle des données est calculée sur l'élément non tourné. De même, pour les éléments QCustom3DVolume, l'écrêtage de la plage est calculé sur l'élément non tourné.
Remarque : seule la mise à l'échelle absolue est prise en charge pour les éléments QCustom3DLabel ou pour les éléments personnalisés utilisés dans les graphiques polar.
Remarque : le maillage de l'élément personnalisé doit être normalisé en fonction de l'intervalle [-1 ,1], sinon la mise à l'échelle des données ne sera pas précise.
Fonctions d'accès :
| bool | isScalingAbsolute() const |
| void | setScalingAbsolute(bool scalingAbsolute) |
Signal de notification :
| void | scalingAbsoluteChanged(bool scalingAbsolute) |
Voir également scaling et positionAbsolute.
shadowCasting : bool
Cette propriété indique si la projection d'ombres est activée pour l'élément.
La valeur par défaut est true. Si false, l'élément ne projette pas d'ombres, quelle que soit la Q3DGraphsWidgetItem::ShadowQuality.
Fonctions d'accès :
| bool | isShadowCasting() const |
| void | setShadowCasting(bool enabled) |
Signal de notification :
| void | shadowCastingChanged(bool shadowCasting) |
textureFile : QString
Cette propriété contient le nom du fichier de texture de l'élément.
Si cette propriété et l'image de texture ne sont pas définies, une texture gris uni sera utilisée.
Remarque : pour économiser de la mémoire, l'adresse QImage chargée à partir du fichier est effacée après la création d'une texture.
Fonctions d'accès :
| QString | textureFile() const |
| void | setTextureFile(const QString &textureFile) |
Signal de notification :
| void | textureFileChanged(const QString &textureFile) |
visible : bool
Cette propriété indique la visibilité de l'élément.
La valeur par défaut est true.
Fonctions d'accès :
| bool | isVisible() const |
| void | setVisible(bool visible) |
Signal du notificateur :
| void | visibleChanged(bool visible) |
Fonction membre Documentation
[explicit] QCustom3DItem::QCustom3DItem(QObject *parent = nullptr)
Construit un objet 3D personnalisé avec l'adresse parent.
[explicit] QCustom3DItem::QCustom3DItem(const QString &meshFile, QVector3D position, QVector3D scaling, const QQuaternion &rotation, const QImage &texture, QObject *parent = nullptr)
Construit un élément 3D personnalisé avec l'image spécifiée meshFile, position, scaling, rotation, texture et l'image optionnelle parent.
[override virtual noexcept] QCustom3DItem::~QCustom3DItem()
Supprime l'élément 3D personnalisé.
[invokable] void QCustom3DItem::setRotationAxisAndAngle(QVector3D axis, float angle)
Une fonction de commodité pour construire le quaternion de rotation à partir de axis et angle.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
Voir aussi rotation.
void QCustom3DItem::setTextureImage(const QImage &textureImage)
Définit la valeur de textureImage comme QImage pour l'article. Par défaut, la texture est gris uni.
Remarque : pour économiser de la mémoire, la valeur de QImage est effacée après la création d'une texture.
© 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.