Surface3DNode QML Type
Décrit l'utilisation du nœud du graphe de surface 3D. Plus d'informations...
| Import Statement: | import QtGraphs |
| Inherits: |
- Liste de tous les membres, y compris les membres hérités
- Surface3DNode fait partie de Qt Graphs QML Types for 3D.
Propriétés
- aspectRatio : real
- axisX : Value3DAxis
- axisY : Value3DAxis
- axisZ : Value3DAxis
- customItemList : list<Custom3DItem>
- flipHorizontalGrid : bool
- gridLineType : Graphs3D.GridLineType
- horizontalAspectRatio : real
- labelMargin : real
- locale : locale
- margin : real
- optimizationHint : Graphs3D.OptimizationHint
- polar : bool
- queriedGraphPosition : vector3d
- radialLabelOffset : real
- selectedElement : Graphs3D.ElementType
- selectedSeries : Surface3DSeries
- selectionMode : Graphs3D.SelectionMode
- seriesList : list<Surface3DSeries>
- theme : GraphsTheme
Signaux
- axisXChanged(ValueAxis3D axis)
- axisYChanged(ValueAxis3D axis)
- axisZChanged(ValueAxis3D axis)
- flipHorizontalGridChanged(bool flip)
- selectedSeriesChanged(Surface3DSeries series)
Méthodes
- qsizetype addCustomItem(Custom3DItem item)
- void addSeries(Surface3DSeries series)
- void clearSelection()
- void doPicking(QPoint point)
- void doRayPicking(QVector3D origin, QVector3D direction)
- bool hasSeries(Abstract3DSeries series)
- void releaseCustomItem(Custom3DItem item)
- void removeCustomItem(Custom3DItem item)
- void removeCustomItemAt(vector3d position)
- void removeCustomItems()
- void removeSeries(Surface3DSeries series)
- Abstract3DAxis selectedAxis()
- Custom3DItem selectedCustomItem()
- qsizetype selectedCustomItemIndex()
- int selectedLabelIndex()
Description détaillée
Ce type permet aux développeurs de rendre un nœud de graphe de surface en 3D avec Qt Quick.
Vous devez importer le module Qt Graphs pour utiliser ce type :
import QtGraphs
Ensuite, vous pouvez utiliser Surface3DNode dans vos fichiers qml :
import QtQuick
import QtGraphs
View3D {
width: 640
height: 480
Surface3DNode {
width: parent.width
height: parent.height
Surface3DSeries {
itemLabelFormat: "Pop density at (@xLabel N, @zLabel E): @yLabel"
ItemModelSurfaceDataProxy {
itemModel: dataModel
// Mapping model roles to surface series rows, columns, and values.
rowRole: "longitude"
columnRole: "latitude"
yPosRole: "pop_density"
}
}
onTapped: {
// Disable the default input handler
unsetDefaultTapHandler()
// Implement own custom event handler
console.log("Custom tap event handler")
}
}
ListModel {
id: dataModel
ListElement{ longitude: "20"; latitude: "10"; pop_density: "4.75"; }
ListElement{ longitude: "21"; latitude: "10"; pop_density: "3.00"; }
ListElement{ longitude: "22"; latitude: "10"; pop_density: "1.24"; }
ListElement{ longitude: "23"; latitude: "10"; pop_density: "2.53"; }
ListElement{ longitude: "20"; latitude: "11"; pop_density: "2.55"; }
ListElement{ longitude: "21"; latitude: "11"; pop_density: "2.03"; }
ListElement{ longitude: "22"; latitude: "11"; pop_density: "3.46"; }
ListElement{ longitude: "23"; latitude: "11"; pop_density: "5.12"; }
ListElement{ longitude: "20"; latitude: "12"; pop_density: "1.37"; }
ListElement{ longitude: "21"; latitude: "12"; pop_density: "2.98"; }
ListElement{ longitude: "22"; latitude: "12"; pop_density: "3.33"; }
ListElement{ longitude: "23"; latitude: "12"; pop_density: "3.23"; }
ListElement{ longitude: "20"; latitude: "13"; pop_density: "4.34"; }
ListElement{ longitude: "21"; latitude: "13"; pop_density: "3.54"; }
ListElement{ longitude: "22"; latitude: "13"; pop_density: "1.65"; }
ListElement{ longitude: "23"; latitude: "13"; pop_density: "2.67"; }
}
}Voir aussi Surface3DSeries, ItemModelSurfaceDataProxy, Bars3DNode, Scatter3DNode, et Qt Graphs C++ Classes for 3D.
Documentation sur les propriétés
aspectRatio : real
Le rapport d'échelle du graphique entre l'axe le plus long sur le plan horizontal et l'axe des ordonnées. La valeur par défaut est 2.0.
Remarque : n'a aucun effet sur Bars3D.
Voir aussi horizontalAspectRatio.
axisX : Value3DAxis
L'axe des x actif.
Si aucun axe n'est fourni, un axe temporaire par défaut, sans étiquette et avec une plage qui s'ajuste automatiquement, est créé. Cet axe temporaire est détruit si un autre axe est explicitement défini avec la même orientation.
axisY : Value3DAxis
L'axe des ordonnées actif.
Si aucun axe n'est fourni, un axe temporaire par défaut, sans étiquette et avec une plage qui s'ajuste automatiquement, est créé. Cet axe temporaire est détruit si un autre axe est explicitement défini avec la même orientation.
axisZ : Value3DAxis
L'axe z actif.
Si aucun axe n'est fourni, un axe temporaire par défaut, sans étiquette et avec une plage qui s'ajuste automatiquement, est créé. Cet axe temporaire est détruit si un autre axe est explicitement défini avec la même orientation.
customItemList : list<Custom3DItem>
La liste des éléments Custom3DItem ajoutés au graphe. Le graphe est propriétaire des éléments ajoutés.
flipHorizontalGrid : bool
Dans certains cas d'utilisation, la grille de l'axe horizontal est principalement couverte par la surface, il peut donc être plus utile d'afficher la grille de l'axe horizontal en haut du graphique plutôt qu'en bas. Un cas d'utilisation typique est l'affichage de spectrogrammes en 2D à l'aide de la projection orthographique avec un point de vue du haut vers le bas.
Si false, la grille de l'axe horizontal et les étiquettes sont dessinées sur le fond horizontal du graphique. Si true, la grille et les étiquettes de l'axe horizontal sont dessinées sur le côté opposé du graphique par rapport à l'arrière-plan horizontal. La valeur par défaut est false.
gridLineType : Graphs3D.GridLineType
Définit si le type de lignes de la grille est Graphs3D.GridLineType.Shader ou Graphs3D.GridLineType.Geometry.
Cette valeur affecte toutes les lignes de la grille.
Voir également Graphs3D.GridLineType.
horizontalAspectRatio : real
Le rapport d'échelle du graphique entre l'axe des x et l'axe des z. La valeur 0.0 indique une mise à l'échelle automatique en fonction des plages d'axes. La valeur par défaut est 0.0.
Remarque : cette propriété n'a aucun effet sur Bars3DNode, qui gère la mise à l'échelle sur le plan horizontal via les propriétés barThickness et barSpacing. Les graphiques polaires ignorent également cette propriété.
Voir également aspectRatio, polar, Bars3DNode::barThickness, et Bars3DNode::barSpacing.
labelMargin : real
Cette propriété spécifie la marge pour le placement des étiquettes d'axe.
Les valeurs négatives placent les étiquettes à l'intérieur de la zone de tracé, tandis que les valeurs positives les placent à l'extérieur de la zone de tracé. La rotation automatique des étiquettes est désactivée lorsque la valeur est négative. La valeur par défaut est 0.1
Voir également QAbstract3DAxis::labelAutoAngle.
locale : locale
Définit la locale utilisée pour le formatage de diverses étiquettes numériques. La valeur par défaut est la locale "C".
Voir aussi Value3DAxis::labelFormat.
margin : real
Valeur absolue utilisée pour l'espace laissé entre le bord de la zone graphique traçable et le bord de l'arrière-plan du graphique.
Si la valeur de la marge est négative, les marges sont déterminées automatiquement et peuvent varier en fonction de la taille des éléments de la série et du type de graphique. La valeur est interprétée comme une fraction de la plage de l'axe des y si les rapports d'aspect du graphique n'ont pas été modifiés par rapport aux valeurs par défaut. La valeur par défaut est -1.0.
Remarque : si la marge d'un graphique de dispersion est inférieure à la marge déterminée automatiquement, les éléments de dispersion situés sur les bords du graphique risquent de se superposer à l'arrière-plan du graphique.
Remarque : dans les graphiques de dispersion et de surface, si la marge est petite par rapport à la taille des étiquettes d'axe, les positions des étiquettes de bord des axes sont ajustées pour éviter tout chevauchement avec les étiquettes de bord des axes voisins.
optimizationHint : Graphs3D.OptimizationHint
Indique si le mode par défaut ou le mode hérité est utilisé pour l'optimisation du rendu.
Le mode par défaut utilise le rendu instancié et fournit l'ensemble des fonctionnalités au meilleur niveau de performance sur la plupart des systèmes. Le mode statique optimise le rendu des graphes et est idéal pour les grands ensembles de données qui ne changent pas. Il est plus lent en cas de modification dynamique des données et de rotation des éléments. La sélection n'étant pas optimisée, il est déconseillé d'utiliser le mode statique avec des ensembles de données volumineux. Le mode hérité rend tous les éléments du graphique individuellement, sans instanciation. Il ne doit être utilisé que si le mode par défaut ne fonctionne pas, c'est-à-dire si le système cible ne prend pas en charge l'instanciation. La valeur par défaut est Default.
Note : Dans certains environnements, les grands graphes utilisant l'optimisation statique peuvent ne pas être rendus, parce que tous les éléments sont rendus en utilisant un seul appel de dessin, et que différents pilotes graphiques supportent différents nombres maximums de vertices par appel. Ce problème se pose principalement sur les plates-formes 32bit et OpenGL ES2. Pour contourner ce problème, choisissez un maillage d'éléments avec un faible nombre de vertex ou utilisez le maillage de points.
Voir aussi Abstract3DSeries::mesh et Graphs3D.OptimizationHint.
polar : bool
Si true, les axes horizontaux sont transformés en axes polaires. L'axe x devient l'axe angulaire et l'axe z devient l'axe radial. Le mode polaire n'est pas disponible pour les diagrammes à barres.
La valeur par défaut est false.
Voir également radialLabelOffset.
queriedGraphPosition : vector3d [read-only]
Cette propriété en lecture seule contient les dernières valeurs de position du graphique le long de chaque axe interrogé à l'aide de Scene3D::graphPositionQuery. Les valeurs sont normalisées en fonction de l'intervalle [-1, 1]. Si la position interrogée se situe en dehors des limites du graphique, les valeurs ne reflèteront pas la position réelle, mais correspondront à une position indéfinie située en dehors de l'intervalle [-1, 1]. La valeur sera indéfinie jusqu'à ce qu'une requête soit effectuée.
Il n'existe pas de coordonnées 3D correctes correspondant à une position particulière de l'écran. Par conséquent, pour des raisons de cohérence, les requêtes sont toujours effectuées par rapport aux côtés intérieurs d'une boîte invisible entourant le graphique.
Remarque : les graphiques à barres ne permettent d'interroger la position du graphique qu'au niveau du sol du graphique, de sorte que la valeur y est toujours nulle pour les graphiques à barres et que les requêtes valides ne peuvent être effectuées qu'aux positions d'écran qui contiennent le sol du graphique.
Voir également Scene3D::graphPositionQuery.
radialLabelOffset : real
Cette propriété spécifie le décalage horizontal normalisé des étiquettes de l'axe polaire radial. La valeur 0.0 indique que les étiquettes doivent être dessinées à côté de la ligne de grille de l'axe angulaire 0. La valeur 1.0 indique que les étiquettes sont dessinées à leur place habituelle, au bord du fond du graphique. Cette propriété est ignorée si la valeur de la propriété polar est false. La valeur par défaut est 1.0.
Voir également polar.
selectedElement : Graphs3D.ElementType [read-only]
L'élément sélectionné dans le graphique.
Cette propriété peut être utilisée pour demander le type d'élément sélectionné. Le type est valide jusqu'à ce qu'une nouvelle sélection soit effectuée dans le graphique et que le signal selectedElementChanged soit émis.
Le signal peut être utilisé, par exemple, pour mettre en œuvre une gestion personnalisée des entrées, comme le montre l'exemple de la gestion des axes.
Voir aussi selectedLabelIndex(), selectedAxis(), selectedCustomItemIndex(), selectedCustomItem(), Bars3DNode::selectedSeries, Scatter3DNode::selectedSeries, Scene3D::selectionQueryPosition, et Graphs3D.ElementType.
selectedSeries : Surface3DSeries [read-only]
La série sélectionnée ou null. Si l'indicateur MultiSeries est activé sur selectionMode, cette propriété contient la série qui possède le point sélectionné.
selectionMode : Graphs3D.SelectionMode
Mode de sélection actif dans le graphique. Une des valeurs de l'énumération graphs3d.selectionflag.
seriesList : list<Surface3DSeries> [default]
Cette propriété contient les séries du graphique. Par défaut, cette propriété contient une liste vide. Pour définir les séries, utilisez la fonction addSeries() ou définissez-les en tant qu'enfants du graphique.
theme : GraphsTheme
Le thème actif du graphique.
Voir aussi GraphsTheme.
Documentation sur le signal
axisXChanged(ValueAxis3D axis)
Ce signal est émis lorsque axisX devient axis.
Note : Le gestionnaire correspondant est onAxisXChanged.
axisYChanged(ValueAxis3D axis)
Ce signal est émis lorsque axisY devient axis.
Note : Le gestionnaire correspondant est onAxisYChanged.
axisZChanged(ValueAxis3D axis)
Ce signal est émis lorsque axisZ devient axis.
Note : Le gestionnaire correspondant est onAxisZChanged.
flipHorizontalGridChanged(bool flip)
Ce signal est émis lorsque flipHorizontalGrid devient flip.
Note : Le gestionnaire correspondant est onFlipHorizontalGridChanged.
selectedSeriesChanged(Surface3DSeries series)
Ce signal est émis lorsque selectedSeries devient series.
Note : Le gestionnaire correspondant est onSelectedSeriesChanged.
Documentation de la méthode
qsizetype addCustomItem(Custom3DItem item)
Ajoute un Custom3DItem item au graphique. Le graphe devient propriétaire de l'élément ajouté.
Renvoie l'index de l'élément ajouté si l'ajout a réussi, -1 si l'on essaie d'ajouter un élément nul, et l'index de l'élément si l'on essaie d'ajouter un élément déjà ajouté.
Voir aussi removeCustomItems(), removeCustomItem() et removeCustomItemAt().
void addSeries(Surface3DSeries series)
Ajoute le site series au graphique.
Voir aussi GraphsNode::hasSeries().
void clearSelection()
Efface la sélection de toutes les séries attachées.
void doPicking(QPoint point)
Effectue le prélèvement en utilisant les coordonnées de la vue à partir de point sur les éléments du graphique, en sélectionnant le premier élément touché. La gestion des entrées par défaut s'effectue lors de la réception de l'événement onTapped.
Voir également selectedElement.
void doRayPicking(QVector3D origin, QVector3D direction)
Effectue un prélèvement à partir de origin et dans direction sur les éléments du graphique, en sélectionnant le premier élément touché.
Voir aussi selectedElement.
bool hasSeries(Abstract3DSeries series)
Indique si le site series a déjà été ajouté au graphique.
void releaseCustomItem(Custom3DItem item)
Récupère la propriété de item et supprime item du graphique.
Remarque : si le même élément est réintroduit dans le graphique, le fichier de texture doit être réinitialisé.
Voir aussi Custom3DItem::textureFile.
void removeCustomItem(Custom3DItem item)
Supprime le site personnalisé item. Supprime les ressources qui lui sont allouées.
void removeCustomItemAt(vector3d position)
Supprime tous les éléments personnalisés à l'adresse position. Supprime les ressources qui leur sont allouées.
void removeCustomItems()
Supprime tous les éléments personnalisés. Supprime les ressources qui leur sont allouées.
void removeSeries(Surface3DSeries series)
Supprime le site series du graphique.
Voir aussi GraphsNode::hasSeries().
Abstract3DAxis selectedAxis()
Peut être utilisé pour obtenir l'axe sélectionné après réception du signal selectedElementChanged avec n'importe quel type d'étiquette. La sélection est valable jusqu'au prochain signal selectedElementChanged.
Renvoie l'axe sélectionné ou null.
Voir aussi selectedElement.
Custom3DItem selectedCustomItem()
Peut être utilisé pour obtenir l'élément personnalisé sélectionné après avoir reçu un signal selectedElementChanged de type ElementType.CustomItem. L'élément reste la propriété du graphique. La sélection est valable jusqu'au prochain signal selectedElementChanged.
Renvoie l'élément personnalisé sélectionné ou null.
Voir aussi selectedElement.
qsizetype selectedCustomItemIndex()
Peut être utilisé pour demander l'index de l'élément personnalisé sélectionné après avoir reçu le signal selectedElementChanged avec le type ElementType.CustomItem. La sélection est valable jusqu'au prochain signal selectedElementChanged.
Renvoie l'index de l'élément personnalisé sélectionné ou -1.
Voir aussi selectedElement.
int selectedLabelIndex()
Peut être utilisé pour demander l'index de l'étiquette sélectionnée après avoir reçu le signal selectedElementChanged avec n'importe quel type d'étiquette. La sélection est valable jusqu'au prochain signal selectedElementChanged.
Renvoie l'index de l'étiquette sélectionnée ou -1.
Voir aussi selectedElement.
© 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.