QQuickItem Class
La classe QQuickItem fournit l'élément visuel le plus basique de tous les éléments de la . Qt Quick. Plus...
| En-tête : | #include <QQuickItem> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Quick)target_link_libraries(mytarget PRIVATE Qt6::Quick) |
| qmake : | QT += quick |
| En QML : | Item |
| Hérite : | QObject et QQmlParserStatus |
| Héritée par : | QQuickFramebufferObject, QQuickPaintedItem, et QQuickRhiItem |
Types publics
| union | ItemChangeData |
| enum | Flag { ItemClipsChildrenToShape, ItemAcceptsInputMethod, ItemIsFocusScope, ItemHasContents, ItemAcceptsDrops, …, ItemObservesViewport } |
| flags | Flags |
| enum | ItemChange { ItemChildAddedChange, ItemChildRemovedChange, ItemSceneChange, ItemVisibleHasChanged, ItemParentHasChanged, …, ItemTransformHasChanged } |
| enum | TransformOrigin { TopLeft, Top, TopRight, Left, Center, …, BottomRight } |
Propriétés
|
Fonctions publiques
| QQuickItem(QQuickItem *parent = nullptr) | |
| virtual | ~QQuickItem() override |
| bool | acceptHoverEvents() const |
| bool | acceptTouchEvents() const |
| Qt::MouseButtons | acceptedMouseButtons() const |
| bool | activeFocusOnTab() const |
| bool | antialiasing() const |
| qreal | baselineOffset() const |
| QBindable<qreal> | bindableHeight() |
| QBindable<qreal> | bindableWidth() |
| QBindable<qreal> | bindableX() |
| QBindable<qreal> | bindableY() |
| virtual QRectF | boundingRect() const |
| QQuickItem * | childAt(qreal x, qreal y) const |
| QList<QQuickItem *> | childItems() const |
| QRectF | childrenRect() |
| bool | clip() const |
| virtual QRectF | clipRect() const |
| QObject * | containmentMask() const |
| virtual bool | contains(const QPointF &point) const |
| QCursor | cursor() const |
(since 6.3) void | dumpItemTree() const |
(since 6.3) void | ensurePolished() |
| bool | filtersChildMouseEvents() const |
| QQuickItem::Flags | flags() const |
| Qt::FocusPolicy | focusPolicy() const |
| void | forceActiveFocus() |
| void | forceActiveFocus(Qt::FocusReason reason) |
| QSharedPointer<QQuickItemGrabResult> | grabToImage(const QSize &targetSize = QSize()) |
| bool | hasActiveFocus() const |
| bool | hasFocus() const |
| qreal | height() const |
| qreal | implicitHeight() const |
| qreal | implicitWidth() const |
| virtual QVariant | inputMethodQuery(Qt::InputMethodQuery query) const |
| bool | isAncestorOf(const QQuickItem *child) const |
| bool | isEnabled() const |
| bool | isFocusScope() const |
| virtual bool | isTextureProvider() const |
| bool | isVisible() const |
| bool | keepMouseGrab() const |
| bool | keepTouchGrab() const |
| QPointF | mapFromGlobal(const QPointF &point) const |
| QPointF | mapFromItem(const QQuickItem *item, const QPointF &point) const |
| QPointF | mapFromScene(const QPointF &point) const |
| QRectF | mapRectFromItem(const QQuickItem *item, const QRectF &rect) const |
| QRectF | mapRectFromScene(const QRectF &rect) const |
| QRectF | mapRectToItem(const QQuickItem *item, const QRectF &rect) const |
| QRectF | mapRectToScene(const QRectF &rect) const |
| QPointF | mapToGlobal(const QPointF &point) const |
| QPointF | mapToItem(const QQuickItem *item, const QPointF &point) const |
| QPointF | mapToScene(const QPointF &point) const |
| QQuickItem * | nextItemInFocusChain(bool forward = true) |
| qreal | opacity() const |
| QQuickItem * | parentItem() const |
| void | polish() |
| void | resetAntialiasing() |
| void | resetHeight() |
| void | resetWidth() |
| qreal | rotation() const |
| qreal | scale() const |
| QQuickItem * | scopedFocusItem() const |
| void | setAcceptHoverEvents(bool enabled) |
| void | setAcceptTouchEvents(bool enabled) |
| void | setAcceptedMouseButtons(Qt::MouseButtons buttons) |
| void | setActiveFocusOnTab(bool) |
| void | setAntialiasing(bool) |
| void | setBaselineOffset(qreal) |
| void | setClip(bool) |
| void | setContainmentMask(QObject *mask) |
| void | setCursor(const QCursor &cursor) |
| void | setEnabled(bool) |
| void | setFiltersChildMouseEvents(bool filter) |
| void | setFlag(QQuickItem::Flag flag, bool enabled = true) |
| void | setFlags(QQuickItem::Flags flags) |
| void | setFocus(bool) |
| void | setFocus(bool focus, Qt::FocusReason reason) |
| void | setFocusPolicy(Qt::FocusPolicy policy) |
| void | setHeight(qreal) |
| void | setImplicitHeight(qreal) |
| void | setImplicitWidth(qreal) |
| void | setKeepMouseGrab(bool keep) |
| void | setKeepTouchGrab(bool keep) |
| void | setOpacity(qreal) |
| void | setParentItem(QQuickItem *parent) |
| void | setRotation(qreal) |
| void | setScale(qreal) |
| void | setSize(const QSizeF &size) |
| void | setSmooth(bool) |
| void | setState(const QString &) |
| void | setTransformOrigin(QQuickItem::TransformOrigin) |
| void | setVisible(bool) |
| void | setWidth(qreal) |
| void | setX(qreal) |
| void | setY(qreal) |
| void | setZ(qreal) |
| QSizeF | size() const |
| bool | smooth() const |
| void | stackAfter(const QQuickItem *sibling) |
| void | stackBefore(const QQuickItem *sibling) |
| QString | state() const |
| virtual QSGTextureProvider * | textureProvider() const |
| QQuickItem::TransformOrigin | transformOrigin() const |
| void | unsetCursor() |
| QQuickItem * | viewportItem() const |
| qreal | width() const |
| QQuickWindow * | window() const |
| qreal | x() const |
| qreal | y() const |
| qreal | z() const |
Emplacements publics
| void | update() |
Signaux
| void | activeFocusChanged(bool) |
| void | activeFocusOnTabChanged(bool) |
| void | antialiasingChanged(bool) |
| void | baselineOffsetChanged(qreal) |
| void | childrenRectChanged(const QRectF &) |
| void | clipChanged(bool) |
| void | containmentMaskChanged() |
| void | enabledChanged() |
| void | focusChanged(bool) |
| void | focusPolicyChanged(Qt::FocusPolicy) |
| void | heightChanged() |
| void | implicitHeightChanged() |
| void | implicitWidthChanged() |
| void | opacityChanged() |
| void | parentChanged(QQuickItem *) |
| void | rotationChanged() |
| void | scaleChanged() |
| void | smoothChanged(bool) |
| void | stateChanged(const QString &) |
| void | transformOriginChanged(QQuickItem::TransformOrigin) |
| void | visibleChanged() |
| void | widthChanged() |
| void | windowChanged(QQuickWindow *window) |
| void | xChanged() |
| void | yChanged() |
| void | zChanged() |
Fonctions protégées
| virtuel bool | childMouseEventFilter(QQuickItem *item, QEvent *event) |
| virtual void | dragEnterEvent(QDragEnterEvent *event) |
| virtual void | dragLeaveEvent(QDragLeaveEvent *event) |
| virtual void | dragMoveEvent(QDragMoveEvent *event) |
| vide virtuel (QDragMoveEvent *event) | dropEvent(QDropEvent *event) |
| vide virtuel (QFocusEvent *event) | focusInEvent(QFocusEvent *event) |
| vide virtuel (QFocusEvent *event) | focusOutEvent(QFocusEvent *event) |
(since 6.0) vide virtuel (const QRectF &newGeometry, const QFocusEvent) | geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry) |
| bool | heightValid() const |
| vide virtuel | hoverEnterEvent(QHoverEvent *event) |
| vide virtuel (QHoverEvent *event) | hoverLeaveEvent(QHoverEvent *événement) |
| vide virtuel (QHoverEvent *event) | hoverMoveEvent(QHoverEvent *événement) |
| vide virtuel (QInputMethodEvent *event) | inputMethodEvent(QInputMethodEvent *event) |
| bool | isComponentComplete() const |
| virtual void | itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value) |
| virtual void | keyPressEvent(QKeyEvent *event) |
| virtual void | keyReleaseEvent(QKeyEvent *événement) |
| virtual void | mouseDoubleClickEvent(QMouseEvent *événement) |
| vide virtuel (QMouseEvent *event) | mouseMoveEvent(QMouseEvent *event) |
| vide virtuel | mousePressEvent(QMouseEvent *event) |
| virtuel void | mouseReleaseEvent(QMouseEvent *événement) |
| virtuel void | mouseUngrabEvent() |
| virtuel void | releaseResources() |
| vide virtuel | touchEvent(QTouchEvent *event) |
| virtuel void | touchUngrabEvent() |
| void | updateInputMethod(Qt::InputMethodQueries queries = Qt::ImQueryInput) |
| QSGNode virtuel * | updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *updatePaintNodeData) |
| virtual void | updatePolish() |
| virtual void | wheelEvent(QWheelEvent *event) |
| bool | widthValid() const |
Fonctions protégées réimplémentées
| virtual void | classBegin() override |
| virtual void | componentComplete() override |
| virtual bool | event(QEvent *ev) override |
Description détaillée
Tous les éléments visuels de Qt Quick héritent de QQuickItem. Bien qu'une instance de QQuickItem n'ait pas d'apparence visuelle, elle définit tous les attributs communs aux éléments visuels, tels que la position x et y, la largeur et la hauteur, l'ancrage et la gestion des touches.
Vous pouvez sous-classer QQuickItem pour fournir votre propre élément visuel personnalisé qui hérite de ces caractéristiques.
Éléments de graphique de scène personnalisés
Tous les éléments visuels QML sont rendus à l'aide du graphe de scène, dont l'implémentation par défaut est une pile de rendu de bas niveau et de haute performance, étroitement liée aux API graphiques accélérées, telles que OpenGL, Vulkan, Metal ou Direct 3D. Il est possible pour les sous-classes de QQuickItem d'ajouter leur propre contenu personnalisé dans le graphe de scène en définissant le drapeau QQuickItem::ItemHasContents et en réimplémentant la fonction QQuickItem::updatePaintNode().
Attention : Il est essentiel que les opérations graphiques et l'interaction avec le graphe de scène se déroulent exclusivement dans le thread de rendu, principalement lors de l'appel à updatePaintNode(). La meilleure règle est de n'utiliser que des classes avec le préfixe "QSG" à l'intérieur de la fonction QQuickItem::updatePaintNode().
Note : Toutes les classes avec le préfixe QSG doivent être utilisées uniquement dans le fil de rendu du graphe de scène. Voir Graphique de scène et rendu pour plus d'informations.
Gestion des ressources graphiques
La meilleure façon de gérer le nettoyage des ressources graphiques utilisées dans le graphe de scène est de s'appuyer sur le nettoyage automatique des nœuds. Un nœud QSGNode renvoyé par QQuickItem::updatePaintNode() est automatiquement supprimé sur le bon thread au bon moment. Les arbres d'instances QSGNode sont gérés par l'utilisation de QSGNode::OwnedByParent, qui est défini par défaut. Ainsi, pour la majorité des éléments de graphe de scène personnalisés, aucun travail supplémentaire n'est nécessaire.
Les implémentations qui stockent des ressources graphiques en dehors de l'arbre des nœuds, comme un élément implémentant QQuickItem::textureProvider(), devront prendre soin de les nettoyer correctement en fonction de la façon dont l'élément est utilisé dans QML. Les situations à gérer sont les suivantes :
- Le graphe de scène est invalidé ; cela peut se produire, en fonction de la plate-forme et de la configuration de QQuickWindow, lorsque la fenêtre est cachée à l'aide de QQuickWindow::hide(), ou lorsqu'elle est fermée. Si la classe de l'élément implémente un
slotnomméinvalidateSceneGraph(), ce slot sera appelé sur le thread de rendu pendant que le thread de l'interface graphique est bloqué. Cela équivaut à se connecter à QQuickWindow::sceneGraphInvalidated(). Lors d'un rendu via OpenGL, le contexte OpenGL de la fenêtre de cet élément sera lié lorsque ce slot sera appelé. La seule exception est si l'OpenGL natif a été détruit en dehors du contrôle de Qt, par exemple parEGL_CONTEXT_LOST. - L'élément est retiré de la scène ; Si un élément est retiré de la scène, par exemple parce que son parent a été mis à
nullou un élément dans une autre fenêtre, QQuickItem::releaseResources() sera appelé sur le thread de l'interface graphique. QQuickWindow::scheduleRenderJob() doit être utilisée pour planifier le nettoyage des ressources de rendu. - L'élément est supprimé ; lorsque le destructeur d'un élément s'exécute, il doit supprimer toutes les ressources graphiques qu'il possède. Si aucune des deux conditions ci-dessus n'est remplie, l'élément fait partie d'une fenêtre et il est possible d'utiliser QQuickWindow::scheduleRenderJob() pour les nettoyer. Si une implémentation ignore l'appel à QQuickItem::releaseResources(), l'élément n'aura, dans de nombreux cas, plus accès à QQuickWindow et n'aura donc plus aucun moyen de programmer le nettoyage.
Lorsque l'on planifie le nettoyage des ressources graphiques à l'aide de QQuickWindow::scheduleRenderJob(), il convient d'utiliser QQuickWindow::BeforeSynchronizingStage ou QQuickWindow::AfterSynchronizingStage. L'étape de synchronisation est celle où le graphe de la scène est modifié à la suite des changements apportés à l'arbre QML. Si le nettoyage est programmé à un autre moment, il se peut que d'autres parties du graphe de la scène fassent référence aux objets nouvellement supprimés, car ces parties n'ont pas été mises à jour.
Note : L'utilisation de QObject::deleteLater() pour nettoyer les ressources graphiques est fortement déconseillée car cela fera tourner l'opération delete à un moment arbitraire et on ne sait pas s'il y aura un contexte OpenGL lié lorsque la suppression aura lieu.
Éléments personnalisés de QPainter
Le QQuickItem fournit une sous-classe, QQuickPaintedItem, qui permet aux utilisateurs de rendre le contenu à l'aide de QPainter.
Attention : L'utilisation de QQuickPaintedItem utilise une surface 2D indirecte pour rendre son contenu, à l'aide d'un logiciel de tramage, de sorte que le rendu est une opération en deux étapes. Il faut d'abord rastériser la surface, puis la dessiner. L'utilisation directe de l'API de graphe de scène est toujours beaucoup plus rapide.
Animations de comportement
Si votre élément utilise le type Behavior pour définir des animations pour les changements de propriété, vous devez toujours utiliser QObject::setProperty(), QQmlProperty() ou QMetaProperty::write() lorsque vous devez modifier ces propriétés à partir de C++. Cela permet de s'assurer que le moteur QML est au courant de la modification de la propriété. Dans le cas contraire, le moteur ne sera pas en mesure d'exécuter l'animation demandée. Notez que ces fonctions entraînent une légère pénalité en termes de performances. Pour plus de détails, voir Accéder aux membres d'un type d'objet QML à partir de C++.
Voir également QQuickWindow et QQuickPaintedItem.
Documentation des types de membres
enum QQuickItem::Flag
flags QQuickItem::Flags
Ce type d'enum est utilisé pour spécifier diverses propriétés de l'élément.
| Constante | Valeur | Description |
|---|---|---|
QQuickItem::ItemClipsChildrenToShape | 0x01 | Indique que cet élément doit découper visuellement ses enfants de manière à ce qu'ils soient rendus uniquement à l'intérieur des limites de cet élément. |
QQuickItem::ItemAcceptsInputMethod | 0x02 | Indique que l'élément prend en charge les méthodes de saisie de texte. |
QQuickItem::ItemIsFocusScope | 0x04 | Indique que l'élément est une portée de mise au point. Pour plus d'informations, voir Keyboard Focus à l'adresse Qt Quick. |
QQuickItem::ItemHasContents | 0x08 | Indique que l'élément a un contenu visuel et qu'il doit être rendu par le graphe de scène. |
QQuickItem::ItemAcceptsDrops | 0x10 | Indique que l'élément accepte les événements de glisser-déposer. |
QQuickItem::ItemIsViewport | 0x20 | Indique que l'élément définit une fenêtre de visualisation pour ses enfants. |
QQuickItem::ItemObservesViewport | 0x40 | Indique que l'élément souhaite connaître les limites de la fenêtre d'affichage lorsqu'un de ses ancêtres a le drapeau ItemIsViewport activé. |
Le type Flags est un typedef pour QFlags<Flag>. Il stocke une combinaison OU de valeurs de drapeaux.
Voir également setFlag(), setFlags() et flags().
enum QQuickItem::ItemChange
Utilisé en conjonction avec QQuickItem::itemChange() pour informer l'élément de certains types de changements.
| Constante | Valeur | Description |
|---|---|---|
QQuickItem::ItemChildAddedChange | 0 | Un enfant a été ajouté. ItemChangeData::item contient l'enfant ajouté. |
QQuickItem::ItemChildRemovedChange | 1 | Un enfant a été supprimé. ItemChangeData::item contient l'enfant supprimé. |
QQuickItem::ItemSceneChange | 2 | L'élément a été ajouté ou retiré d'une scène. L'adresse QQuickWindow qui rend la scène est spécifiée à l'aide de l'adresse ItemChangeData::window. Le paramètre window est nul lorsque l'élément est retiré d'une scène. |
QQuickItem::ItemVisibleHasChanged | 3 | La visibilité de l'élément a changé. ItemChangeData::boolValue contient la nouvelle visibilité. |
QQuickItem::ItemParentHasChanged | 4 | Le parent de l'élément a changé. ItemChangeData::item contient le nouveau parent. |
QQuickItem::ItemOpacityHasChanged | 5 | L'opacité de l'élément a changé. ItemChangeData::realValue contient la nouvelle opacité. |
QQuickItem::ItemActiveFocusHasChanged | 6 | Le focus de l'élément a changé. ItemChangeData::boolValue indique si l'élément a le focus ou non. |
QQuickItem::ItemRotationHasChanged | 7 | La rotation de l'élément a changé. ItemChangeData::realValue contient la nouvelle rotation. |
QQuickItem::ItemDevicePixelRatioHasChanged | 9 | Le ratio de pixels de l'écran sur lequel se trouve l'élément a changé. ItemChangedData::realValue contient le nouveau rapport de pixels de l'appareil. |
QQuickItem::ItemAntialiasingHasChanged | 8 | L'anticrénelage a changé. La valeur actuelle (booléenne) se trouve à l'adresse QQuickItem::antialiasing. |
QQuickItem::ItemEnabledHasChanged | 10 | L'état activé de l'élément a changé. ItemChangeData::boolValue contient le nouvel état activé. (depuis Qt 5.10) |
QQuickItem::ItemScaleHasChanged | 11 | L'échelle de l'élément a changé. ItemChangeData::realValue contient l'échelle. (depuis Qt 6.9) |
QQuickItem::ItemTransformHasChanged | 12 | La transformation de l'élément a changé. Cela se produit lorsque la position, la taille, la rotation, l'échelle, transformOrigin ou les transformations attachées de l'élément changent. ItemChangeData::item contient l'élément qui a causé le changement. (depuis Qt 6.9) |
enum QQuickItem::TransformOrigin
Contrôle le point autour duquel s'appliquent les transformations simples telles que l'échelle.
| Constante | Valeur | Description |
|---|---|---|
QQuickItem::TopLeft | 0 | Le coin supérieur gauche de l'élément. |
QQuickItem::Top | 1 | Le point central du haut de l'élément. |
QQuickItem::TopRight | 2 | Le coin supérieur droit de l'élément. |
QQuickItem::Left | 3 | Le point le plus à gauche du milieu vertical. |
QQuickItem::Center | 4 | Le centre de l'élément. |
QQuickItem::Right | 5 | Le point le plus à droite du milieu vertical. |
QQuickItem::BottomLeft | 6 | Le coin inférieur gauche de l'élément. |
QQuickItem::Bottom | 7 | Le point central du bas de l'élément. |
QQuickItem::BottomRight | 8 | Le coin inférieur droit de l'élément. |
Voir également transformOrigin() et setTransformOrigin().
Documentation sur les propriétés
[read-only] activeFocus : bool
Cette propriété en lecture seule indique si l'élément a le focus actif.
Si activeFocus est vrai, soit cet élément est celui qui reçoit actuellement la saisie au clavier, soit il est un ancêtre FocusScope de l'élément qui reçoit actuellement la saisie au clavier.
En général, activeFocus est obtenu en définissant focus sur un élément et les objets FocusScope qui l'entourent. Dans l'exemple suivant, les objets input et focusScope auront le focus actif, alors que l'objet rectangle racine ne l'aura pas.
import QtQuick 2.0 Rectangle { width: 100; height: 100 FocusScope { focus: true TextInput { id: input focus: true } } }
Fonctions d'accès :
| bool | hasActiveFocus() const |
Signal Notifier :
| void | activeFocusChanged(bool) |
Voir également focus et Keyboard Focus dans Qt Quick.
activeFocusOnTab : bool
Cette propriété indique si l'élément doit faire partie de la chaîne de mise au point de l'onglet. Par défaut, elle est définie sur false.
Remarque : tabFocusBehavior peut également limiter le focus à des types de contrôles spécifiques, tels que les contrôles de texte ou de liste. C'est le cas sous macOS, où la focalisation sur des contrôles particuliers peut être restreinte en fonction des paramètres du système.
Fonctions d'accès :
| bool | activeFocusOnTab() const |
| void | setActiveFocusOnTab(bool) |
Signal de notification :
| void | activeFocusOnTabChanged(bool) |
Voir également QStyleHints::tabFocusBehavior et focusPolicy.
antialiasing : bool
Spécifie si l'élément est anticrénelé ou non
Utilisé par les éléments visuels pour décider si l'élément doit utiliser l'anticrénelage ou non. Dans certains cas, les éléments avec anticrénelage nécessitent plus de mémoire et sont potentiellement plus lents à rendre (voir anticrénelage pour plus de détails).
La valeur par défaut est false, mais elle peut être remplacée par des éléments dérivés.
Fonctions d'accès :
| bool | antialiasing() const |
| void | setAntialiasing(bool) |
| void | resetAntialiasing() |
Signal du notificateur :
| void | antialiasingChanged(bool) |
baselineOffset : qreal
Spécifie la position de la ligne de base de l'article en coordonnées locales.
La ligne de base d'un élément Text est la ligne imaginaire sur laquelle se trouve le texte. Les contrôles contenant du texte définissent généralement leur ligne de base sur la ligne de base de leur texte.
Pour les éléments qui ne contiennent pas de texte, un décalage de la ligne de base de 0 est utilisé par défaut.
Fonctions d'accès :
| qreal | baselineOffset() const |
| void | setBaselineOffset(qreal) |
Signal de notification :
| void | baselineOffsetChanged(qreal) |
[read-only] childrenRect : QRectF
Cette propriété contient la position et la taille collectives des enfants de l'élément.
Cette propriété est utile si vous avez besoin d'accéder à la géométrie collective des enfants d'un élément afin de dimensionner correctement l'élément.
La géométrie renvoyée est locale à l'élément. Par exemple, la géométrie renvoyée est locale à l'élément :
Item { x: 50 y: 100 // prints: QRectF(-10, -20, 30, 40) Component.onCompleted: print(childrenRect) Item { x: -10 y: -20 width: 30 height: 40 } }
Fonctions d'accès :
| QRectF | childrenRect() |
Signal de notification :
| void | childrenRectChanged(const QRectF &) |
clip : bool
Cette propriété indique si l'écrêtage est activé. La valeur par défaut est false.
Si l'écrêtage est activé, un élément écrêtera sa propre peinture, ainsi que la peinture de ses enfants, sur son rectangle de délimitation. Si vous définissez l'écrêtage pendant l'opération de peinture d'un élément, n'oubliez pas de le redéfinir pour éviter d'écrêter le reste de votre scène.
Remarque : l 'écrêtage peut affecter les performances de rendu. Pour plus d'informations, consultez la rubrique " Écrêtage".
Remarque : Pour les besoins de QML, le fait d'attribuer à clip la valeur true permet également d'attribuer le drapeau ItemIsViewport, ce qui constitue parfois une optimisation : les éléments enfants qui possèdent le drapeau ItemObservesViewport peuvent renoncer à créer des nœuds de graphe de scène qui se situent en dehors de la fenêtre de visualisation. Mais l'indicateur ItemIsViewport peut également être défini indépendamment.
Fonctions d'accès :
| bool | clip() const |
| void | setClip(bool) |
Signal de notification :
| void | clipChanged(bool) |
containmentMask : QObject*
Cette propriété contient un masque facultatif à utiliser dans la méthode contains(), qui sert principalement à tester chaque QPointerEvent.
Par défaut, contains() renvoie true pour tout point situé dans la zone de délimitation de l'élément. Mais n'importe quel QQuickItem, ou n'importe quel QObject qui implémente une fonction de la forme
Q_INVOKABLE bool contains(const QPointF &point) const;
peut être utilisé comme masque, afin de reporter le test d'impact sur cet objet.
Remarque : contains() est fréquemment appelé lors de la livraison d'un événement. Le report du hit-test à un autre objet le ralentit quelque peu. containmentMask() peut entraîner des problèmes de performance si la méthode contains() de cet objet n'est pas efficace. Si vous implémentez une sous-classe QQuickItem personnalisée, vous pouvez également surcharger contains().
Fonctions d'accès :
| QObject * | containmentMask() const |
| void | setContainmentMask(QObject *mask) |
Signal Notificateur :
| void | containmentMaskChanged() |
Voir aussi contains().
enabled : bool
Cette propriété indique si l'élément reçoit des événements de souris et de clavier. La valeur par défaut est "true" (vrai).
La définition de cette propriété affecte directement la valeur enabled des éléments enfants. Lorsque cette propriété vaut false, les valeurs enabled de tous les éléments enfants deviennent également false. Lorsque cette propriété vaut true, les valeurs enabled des éléments enfants sont ramenées à true, à moins qu'elles n'aient été explicitement fixées à false.
La définition de cette propriété à false entraîne automatiquement la définition de activeFocus à false, et cet élément ne recevra plus d'événements clavier.
Remarque : les événements de survol sont activés séparément par setAcceptHoverEvents(). Ainsi, un élément désactivé peut continuer à recevoir des événements de survol, même si la valeur de cette propriété est false. Cela permet d'afficher des informations (telles que ToolTip) même lorsqu'un élément interactif est désactivé. Il en va de même pour les HoverHandlers ajoutés en tant qu'enfants de l'élément. Un HoverHandler peut toutefois être disabled explicitement ou, par exemple, être lié à l'état enabled de l'élément.
Fonctions d'accès :
| bool | isEnabled() const |
| void | setEnabled(bool) |
Signal de notification :
| void | enabledChanged() |
Voir aussi visible.
focus : bool
Cette propriété indique si l'élément est au centre de l'attention à l'intérieur du site FocusScope. Si elle est vraie, l'élément obtiendra le focus actif lorsque l'élément qui le contient, FocusScope, obtiendra le focus actif.
Dans l'exemple suivant, input obtiendra le focus actif lorsque scope obtiendra le focus actif :
import QtQuick 2.0 Rectangle { width: 100; height: 100 FocusScope { id: scope TextInput { id: input focus: true } } }
Pour les besoins de cette propriété, la scène dans son ensemble est supposée agir comme un champ de focalisation. D'un point de vue pratique, cela signifie que le langage QML suivant donnera le focus actif à input au démarrage.
Fonctions d'accès :
| bool | hasFocus() const |
| void | setFocus(bool) |
| void | setFocus(bool focus, Qt::FocusReason reason) |
Signal Notifier :
| void | focusChanged(bool) |
Voir également activeFocus et Keyboard Focus dans Qt Quick.
[since 6.7] focusPolicy : Qt::FocusPolicy
Cette propriété détermine la manière dont l'élément accepte le focus.
Cette propriété a été introduite dans Qt 6.7.
Fonctions d'accès :
| Qt::FocusPolicy | focusPolicy() const |
| void | setFocusPolicy(Qt::FocusPolicy policy) |
Signal Notifier :
| void | focusPolicyChanged(Qt::FocusPolicy) |
[bindable] height : qreal
Remarque : Cette propriété prend en charge les liens QProperty.
Cette propriété indique la hauteur de l'élément.
Fonctions d'accès :
| qreal | height() const |
| void | setHeight(qreal) |
| void | resetHeight() |
Signal de notification :
| void | heightChanged() |
Définit la largeur ou la hauteur préférée de l'élément.
Si width ou height n'est pas spécifié, la taille effective d'un élément sera déterminée par son implicitWidth ou implicitHeight.
Toutefois, si un élément est l'enfant d'une mise en page, cette dernière déterminera la taille préférée de l'élément à l'aide de sa taille implicite. Dans ce cas, la taille explicite width ou height est ignorée.
La taille implicite par défaut de la plupart des éléments est 0x0, mais certains éléments ont une taille implicite inhérente qui ne peut être modifiée, par exemple Image et Text.
La définition de la taille implicite est utile pour définir des composants qui ont une taille préférée en fonction de leur contenu, par exemple :
// Label.qml import QtQuick 2.0 Item { property alias icon: image.source property alias label: text.text implicitWidth: text.implicitWidth + image.implicitWidth implicitHeight: Math.max(text.implicitHeight, image.implicitHeight) Image { id: image } Text { id: text wrapMode: Text.Wrap anchors.left: image.right; anchors.right: parent.right anchors.verticalCenter: parent.verticalCenter } }
Remarque : l'utilisation de implicitWidth de Text ou TextEdit et la définition explicite de la largeur entraînent une pénalité en termes de performances, car le texte doit être mis en page deux fois.
opacity : qreal
Cette propriété définit l'opacité de l'élément. L'opacité est spécifiée sous la forme d'un nombre compris entre 0,0 (totalement transparent) et 1,0 (totalement opaque). La valeur par défaut est 1.0.
Lorsque cette propriété est définie, l'opacité spécifiée est également appliquée individuellement aux éléments enfants. Cela peut avoir un effet inattendu dans certaines circonstances. Par exemple, dans la deuxième série de rectangles ci-dessous, le rectangle rouge a spécifié une opacité de 0,5, ce qui affecte l'opacité de son rectangle enfant bleu, même si l'enfant n'a pas spécifié d'opacité.
Les valeurs situées en dehors de la plage de 0 à 1 seront bloquées.
| |
|
La modification de l'opacité d'un élément n'affecte pas le fait que l'élément reçoive des événements de saisie de l'utilisateur. (En revanche, la définition de la propriété visible sur false arrête les événements de la souris, et la définition de la propriété enabled sur false arrête les événements de la souris et du clavier, et supprime également le focus actif de l'élément).
Fonctions d'accès :
| qreal | opacity() const |
| void | setOpacity(qreal) |
Signal du notificateur :
| void | opacityChanged() |
Voir aussi visible.
parent : QQuickItem*
Cette propriété contient le parent visuel de l'élément.
Remarque : le concept de parent visuel diffère de celui de parentQObject . Le parent visuel d'un élément n'est pas nécessairement le même que son parent objet. Voir Concepts - Parent visuel dans Qt Quick pour plus de détails.
Remarque : le signal de notification de cette propriété est émis lors de la destruction du parent visuel. Les gestionnaires de signaux C++ ne peuvent pas supposer que les éléments de la hiérarchie du parent visuel sont encore entièrement construits. Utilisez qobject_cast pour vérifier que les éléments de la hiérarchie parentale peuvent être utilisés en toute sécurité comme le type attendu.
Fonctions d'accès :
| QQuickItem * | parentItem() const |
| void | setParentItem(QQuickItem *parent) |
Signal Notificateur :
| void | parentChanged(QQuickItem *) |
rotation : qreal
Cette propriété indique la rotation de l'élément en degrés dans le sens des aiguilles d'une montre autour de son site transformOrigin.
La valeur par défaut est de 0 degré (c'est-à-dire aucune rotation).
|
Fonctions d'accès :
| qreal | rotation() const |
| void | setRotation(qreal) |
Signal du notificateur :
| void | rotationChanged() |
Voir aussi Transform et Rotation.
scale : qreal
Cette propriété contient le facteur d'échelle de cet élément.
Une échelle inférieure à 1,0 réduit la taille de l'élément et une échelle supérieure à 1,0 augmente la taille de l'élément. Une échelle négative a pour effet de refléter l'élément lors du rendu.
La valeur par défaut est 1,0.
La mise à l'échelle est appliquée à partir du site transformOrigin.
|
Fonctions d'accès :
| qreal | scale() const |
| void | setScale(qreal) |
Signal de notification :
| void | scaleChanged() |
Voir également Transform et Scale.
smooth : bool
Spécifie si l'élément est lissé ou non
Principalement utilisé dans les éléments basés sur des images pour décider si l'élément doit utiliser un échantillonnage lisse ou non. L'échantillonnage lisse est réalisé à l'aide d'une interpolation linéaire, tandis que l'échantillonnage non lisse est réalisé à l'aide du plus proche voisin.
Dans Qt Quick 2.0, cette propriété a un impact minimal sur les performances.
Par défaut, cette propriété est définie sur true.
Fonctions d'accès :
| bool | smooth() const |
| void | setSmooth(bool) |
Signal de notification :
| void | smoothChanged(bool) |
state : QString
Cette propriété contient le nom de l'état actuel de l'élément.
Si l'élément est dans son état par défaut, c'est-à-dire qu'aucun état explicite n'a été défini, cette propriété contient une chaîne vide. De même, vous pouvez ramener un élément à son état par défaut en définissant cette propriété à une chaîne vide.
Fonctions d'accès :
| QString | state() const |
| void | setState(const QString &) |
Signal du notificateur :
| void | stateChanged(const QString &) |
Voir aussi Qt Quick États.
transformOrigin : TransformOrigin
Cette propriété définit le point d'origine autour duquel l'échelle et la rotation sont transformées.
Neuf origines de transformation sont disponibles, comme le montre l'image ci-dessous. L'origine de la transformation par défaut est Item.Center.

Fonctions d'accès :
| QQuickItem::TransformOrigin | transformOrigin() const |
| void | setTransformOrigin(QQuickItem::TransformOrigin) |
Signal de notification :
| void | transformOriginChanged(QQuickItem::TransformOrigin) |
visible : bool
Cette propriété indique si l'élément est visible. Par défaut, elle est égale à true (vrai).
La définition de cette propriété affecte directement la valeur visible des éléments enfants. Lorsque cette propriété vaut false, les valeurs visible de tous les éléments enfants deviennent également false. Lorsque la valeur est fixée à true, les valeurs visible des éléments enfants sont ramenées à true, à moins qu'elles n'aient été explicitement fixées à false.
(En raison de ce comportement de flux, l'utilisation de la propriété visible peut ne pas avoir l'effet escompté si une liaison de propriété ne doit répondre qu'aux changements explicites de propriété. Dans ce cas, il peut être préférable d'utiliser la propriété opacity ).
Si cette propriété est définie sur false, l'élément ne recevra plus d'événements liés à la souris, mais continuera à recevoir des événements liés aux touches et conservera le clavier focus s'il a été défini. (En revanche, si la propriété enabled est définie sur false, les événements souris et clavier sont interrompus et le focus de l'élément est supprimé).
Remarque : la valeur de cette propriété n'est affectée que par les modifications apportées à cette propriété ou à la propriété visible du parent. Elle ne change pas, par exemple, si l'élément se déplace hors de l'écran ou si la valeur de opacity passe à 0. Cependant, pour des raisons historiques, cette propriété est vraie après la construction de l'élément, même si l'élément n'a pas encore été ajouté à une scène. La modification ou la lecture de cette propriété d'un élément qui n'a pas été ajouté à une scène peut ne pas produire les résultats escomptés.
Remarque : le signal de notification de cette propriété est émis lors de la destruction du parent visuel. Les gestionnaires de signaux C++ ne peuvent pas supposer que les éléments de la hiérarchie du parent visuel sont encore entièrement construits. Utilisez qobject_cast pour vérifier que les éléments de la hiérarchie parentale peuvent être utilisés en toute sécurité comme le type attendu.
Fonctions d'accès :
| bool | isVisible() const |
| void | setVisible(bool) |
Signal Notificateur :
| void | visibleChanged() |
Voir également opacity et enabled.
[bindable] width : qreal
Remarque : Cette propriété prend en charge les liens QProperty.
Cette propriété contient la largeur de cet élément.
Fonctions d'accès :
| qreal | width() const |
| void | setWidth(qreal) |
| void | resetWidth() |
Signal de notification :
| void | widthChanged() |
[bindable] x : qreal
Remarque : cette propriété prend en charge les liens QProperty.
Définit la position x de l'élément par rapport à son parent.
Fonctions d'accès :
| qreal | x() const |
| void | setX(qreal) |
Signal du notificateur :
| void | xChanged() |
[bindable] y : qreal
Remarque : cette propriété prend en charge les liens QProperty.
Définit la position en y de l'élément par rapport à son parent.
Fonctions d'accès :
| qreal | y() const |
| void | setY(qreal) |
Signal du notificateur :
| void | yChanged() |
z : qreal
Définit l'ordre d'empilement des éléments frères. Par défaut, l'ordre d'empilement est de 0.
Les éléments ayant une valeur d'empilement supérieure sont dessinés au-dessus des frères et sœurs ayant un ordre d'empilement inférieur. Les éléments ayant la même valeur d'empilement sont dessinés de bas en haut dans l'ordre où ils apparaissent. Les éléments ayant une valeur d'empilement négative sont dessinés sous le contenu de leur parent.
L'exemple suivant illustre les différents effets de l'ordre d'empilement.
| Même z - les derniers enfants sont placés au-dessus des premiers :
|
| Plus haut z en haut :
|
| Identique z - les enfants au-dessus des parents :
|
| Plus bas z en dessous :
|
Fonctions d'accès :
| qreal | z() const |
| void | setZ(qreal) |
Signal de notification :
| void | zChanged() |
Documentation des fonctions membres
[explicit] QQuickItem::QQuickItem(QQuickItem *parent = nullptr)
Construit un QQuickItem avec l'adresse parent donnée.
Le parent sera utilisé comme parent du visual parent et du QObject.
[override virtual noexcept] QQuickItem::~QQuickItem()
Détruit le site QQuickItem.
bool QQuickItem::acceptHoverEvents() const
Indique si les événements de survol sont acceptés par cet élément.
La valeur par défaut est false.
Si cette valeur est false, l'élément ne recevra aucun événement de survol par l'intermédiaire des fonctions hoverEnterEvent(), hoverMoveEvent() et hoverLeaveEvent().
Voir également setAcceptHoverEvents().
bool QQuickItem::acceptTouchEvents() const
Indique si les événements tactiles sont acceptés par cet élément.
La valeur par défaut est false.
Si cette valeur est false, l'élément ne recevra aucun événement tactile par l'intermédiaire de la fonction touchEvent().
Voir également setAcceptTouchEvents().
Qt::MouseButtons QQuickItem::acceptedMouseButtons() const
Renvoie les boutons de souris acceptés par cet élément.
La valeur par défaut est Qt::NoButton; c'est-à-dire qu'aucun bouton de souris n'est accepté.
Si un élément n'accepte pas le bouton de la souris pour un événement de souris particulier, l'événement de souris ne sera pas transmis à l'élément et sera transmis à l'élément suivant dans la hiérarchie des éléments.
Voir également setAcceptedMouseButtons() et acceptTouchEvents().
[virtual] QRectF QQuickItem::boundingRect() const
Renvoie les dimensions de l'élément dans son propre système de coordonnées : un rectangle allant de 0, 0 à width() et height().
[invokable] QQuickItem *QQuickItem::childAt(qreal x, qreal y) const
Renvoie le premier élément enfant visible trouvé au point (x, y) dans le système de coordonnées de cet élément.
Retourne nullptr s'il n'existe pas d'élément de ce type.
Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
QList<QQuickItem *> QQuickItem::childItems() const
Renvoie les enfants de cet élément.
[virtual protected] bool QQuickItem::childMouseEventFilter(QQuickItem *item, QEvent *event)
Réimplémentez cette méthode pour filtrer les événements de pointeur reçus par les enfants de cet élément.
Cette méthode ne sera appelée que si filtersChildMouseEvents() est true.
Elle renvoie true si l'événement event spécifié ne doit pas être transmis à l'enfant item spécifié, et false dans le cas contraire. Si vous renvoyez true, vous devez également renvoyer accept ou ignore le event, pour indiquer si la propagation des événements doit s'arrêter ou se poursuivre. L'adresse event sera cependant toujours envoyée à tous les ChildMouseEventFilters de la chaîne parentale.
Remarque : malgré son nom, cette fonction filtre toutes les instances QPointerEvent lors de la transmission à tous les enfants (en général, les événements liés à la souris, au toucher et à la tablette). Lorsque vous remplacez cette fonction dans une sous-classe, nous vous suggérons d'écrire un code générique de gestion des événements en utilisant uniquement les accesseurs trouvés dans QPointerEvent. Vous pouvez également activer event->type() et/ou event->device()->type() pour gérer différents types d'événements de différentes manières.
Remarque : le filtrage n'est qu'un moyen de partager la responsabilité en cas d'ambiguïté gestuelle (par exemple, en cas de pression, vous ne savez pas si l'utilisateur va taper ou glisser). Une autre façon est d'appeler QPointerEvent::addPassiveGrabber() à l'appui, de manière à surveiller de manière non exclusive la progression de QEventPoint. Dans les deux cas, le gestionnaire d'élément ou de pointeur qui surveille peut voler l'exclusivité plus tard, lorsqu'il devient clair que le geste correspond au modèle qu'il attend.
Voir également setFiltersChildMouseEvents().
[override virtual protected] void QQuickItem::classBegin()
Réimplémente : QQmlParserStatus::classBegin().
Les classes dérivées doivent appeler la méthode de la classe de base avant d'ajouter leur propre action à effectuer à classBegin.
[virtual] QRectF QQuickItem::clipRect() const
Renvoie la zone rectangulaire de cet élément qui est actuellement visible dans viewportItem(), s'il existe une fenêtre de visualisation et si l'indicateur ItemObservesViewport est activé ; sinon, l'étendue de cet élément dans son propre système de coordonnées : un rectangle allant de 0, 0 à width() et height(). Il s'agit de la région destinée à rester visible si clip est true. Elle peut également être utilisée dans updatePaintNode() pour limiter les graphiques ajoutés au graphe de scène.
Par exemple, un grand dessin ou un grand document texte peut être affiché dans un Flickable qui n'occupe qu'une partie de la fenêtre de l'application : dans ce cas, Flickable est l'élément viewport, et un élément de rendu de contenu personnalisé peut choisir d'omettre les nœuds du graphe de scène qui se trouvent en dehors de la zone actuellement visible. Si le drapeau ItemObservesViewport est activé, cette zone changera chaque fois que l'utilisateur fera défiler le contenu de l'élément Flickable.
Dans le cas d'éléments de fenêtre imbriqués, clipRect() est l'intersection des boundingRectde tous les ancêtres pour lesquels l'indicateur ItemIsViewport est activé, dans le système de coordonnées de cet élément.
Voir également boundingRect().
[override virtual protected] void QQuickItem::componentComplete()
Réimplémente : QQmlParserStatus::componentComplete().
Les classes dérivées doivent appeler la méthode de la classe de base avant d'ajouter leurs propres actions à exécuter à componentComplete.
[virtual invokable] bool QQuickItem::contains(const QPointF &point) const
Renvoie true si cet élément contient point, qui est en coordonnées locales ; renvoie false dans le cas contraire.
Cette fonction peut être surchargée afin de gérer les collisions de points dans les éléments ayant des formes personnalisées. L'implémentation par défaut vérifie si le point se trouve à l'intérieur de containmentMask() s'il est défini, ou à l'intérieur de la boîte de délimitation dans le cas contraire.
Remarque : cette méthode est utilisée pour tester chaque QEventPoint lors de la livraison de l'événement, de sorte que l'implémentation doit être aussi légère que possible.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
QCursor QQuickItem::cursor() const
Renvoie la forme du curseur pour cet élément.
Le curseur de la souris prendra cette forme lorsqu'il sera au-dessus de cet élément, à moins qu'un curseur prioritaire ne soit défini. Voir list of predefined cursor objects pour une gamme de formes utiles.
Si aucune forme de curseur n'a été définie, cette fonction renvoie un curseur ayant la forme Qt::ArrowCursor. Toutefois, une autre forme de curseur peut être affichée si un élément qui se chevauche a un curseur valide.
Voir également setCursor() et unsetCursor().
[virtual protected] void QQuickItem::dragEnterEvent(QDragEnterEvent *event)
Ce gestionnaire d'événements peut être réimplémenté dans une sous-classe pour recevoir les événements de glisser-déposer d'un élément. Les informations relatives à l'événement sont fournies par le paramètre event.
Les événements de glisser-déposer ne sont fournis que si l'indicateur ItemAcceptsDrops a été activé pour cet élément.
L'événement est accepté par défaut, il n'est donc pas nécessaire de l'accepter explicitement si vous réimplémentez cette fonction. Si vous n'acceptez pas l'événement, appelez event->ignore().
Voir également Drag et Drag and Drop.
[virtual protected] void QQuickItem::dragLeaveEvent(QDragLeaveEvent *event)
Ce gestionnaire d'événements peut être réimplémenté dans une sous-classe pour recevoir les événements de glissement et de sortie d'un élément. Les informations relatives à l'événement sont fournies par le paramètre event.
Les événements de glisser-déposer ne sont fournis que si l'indicateur ItemAcceptsDrops a été activé pour cet élément.
L'événement est accepté par défaut, il n'est donc pas nécessaire de l'accepter explicitement si vous réimplémentez cette fonction. Si vous n'acceptez pas l'événement, appelez event->ignore().
Voir également Drag et Drag and Drop.
[virtual protected] void QQuickItem::dragMoveEvent(QDragMoveEvent *event)
Ce gestionnaire d'événements peut être réimplémenté dans une sous-classe pour recevoir les événements de déplacement d'un élément. Les informations relatives à l'événement sont fournies par le paramètre event.
Les événements de glisser-déposer ne sont fournis que si l'indicateur ItemAcceptsDrops a été activé pour cet élément.
L'événement est accepté par défaut, il n'est donc pas nécessaire de l'accepter explicitement si vous réimplémentez cette fonction. Si vous n'acceptez pas l'événement, appelez event->ignore().
Voir également Drag et Drag and Drop.
[virtual protected] void QQuickItem::dropEvent(QDropEvent *event)
Ce gestionnaire d'événements peut être réimplémenté dans une sous-classe pour recevoir les événements de chute d'un élément. Les informations relatives à l'événement sont fournies par le paramètre event.
Les événements de glisser-déposer ne sont fournis que si l'indicateur ItemAcceptsDrops a été activé pour cet élément.
L'événement est accepté par défaut, il n'est donc pas nécessaire de l'accepter explicitement si vous réimplémentez cette fonction. Si vous n'acceptez pas l'événement, appelez event->ignore().
Voir également Drag et Drag and Drop.
[invokable, since 6.3] void QQuickItem::dumpItemTree() const
Affiche quelques détails sur l'arbre visuel des éléments commençant par cet élément, de manière récursive.
Note : QObject::dumpObjectTree() affiche un arbre similaire ; mais, comme expliqué dans Concepts - Parent visuel dans Qt Quick, le QObject::parent() d'un élément diffère parfois de son QQuickItem::parentItem(). Vous pouvez extraire les deux arbres pour voir la différence.
Note : Le format de sortie exact peut changer dans les versions futures de Qt.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
Cette fonction a été introduite dans Qt 6.3.
Voir également Techniques de débogage et GammaRay's Qt Quick Inspector.
[invokable, since 6.3] void QQuickItem::ensurePolished()
Appelle updatePolish()
Cela peut être utile pour des éléments tels que les Layouts (ou Positioners) qui retardent le calcul de leurs implicitWidth et implicitHeight jusqu'à ce qu'ils reçoivent un PolishEvent.
Normalement, si, par exemple, un élément enfant est ajouté ou supprimé d'un Layout, la taille implicite n'est pas immédiatement calculée (il s'agit d'une optimisation). Dans certains cas, il peut être souhaitable d'interroger la taille implicite de la disposition juste après l'ajout d'un élément enfant. Dans ce cas, utilisez cette fonction juste avant de demander la taille implicite.
Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
Cette fonction a été introduite dans Qt 6.3.
Voir également updatePolish() et polish().
[override virtual protected] bool QQuickItem::event(QEvent *ev)
Réimplémente : QObject::event(QEvent *e).
bool QQuickItem::filtersChildMouseEvents() const
Indique si les événements de pointeur destinés aux enfants de cet élément doivent être filtrés par cet élément.
Si cet élément et un élément enfant ont tous deux acceptTouchEvents() true, alors lorsqu'une interaction tactile se produit, cet élément filtrera l'événement tactile. Mais si cet élément ou l'élément enfant ne peut pas gérer les événements tactiles, childMouseEventFilter() sera appelé avec un événement souris synthétisé.
Voir également setFiltersChildMouseEvents() et childMouseEventFilter().
QQuickItem::Flags QQuickItem::flags() const
Renvoie les drapeaux de cet élément.
Voir aussi setFlags() et setFlag().
[virtual protected] void QQuickItem::focusInEvent(QFocusEvent *event)
Ce gestionnaire d'événements peut être réimplémenté dans une sous-classe pour recevoir les événements de mise au point d'un élément. Les informations relatives à l'événement sont fournies par le paramètre event.
L'événement est accepté par défaut, il n'est donc pas nécessaire d'accepter explicitement l'événement si vous réimplémentez cette fonction. Si vous n'acceptez pas l'événement, appelez event->ignore().
Si vous réimplémentez cette fonction, vous devez appeler l'implémentation de la classe de base.
[virtual protected] void QQuickItem::focusOutEvent(QFocusEvent *event)
Ce gestionnaire d'événements peut être réimplémenté dans une sous-classe pour recevoir les événements de focus-out d'un élément. Les informations relatives à l'événement sont fournies par le paramètre event.
L'événement est accepté par défaut, il n'est donc pas nécessaire d'accepter explicitement l'événement si vous réimplémentez cette fonction. Si vous n'acceptez pas l'événement, appelez event->ignore().
[invokable] void QQuickItem::forceActiveFocus()
Force la focalisation active sur l'élément.
Cette méthode place le focus sur l'élément et garantit que tous les objets ancêtres FocusScope dans la hiérarchie des objets reçoivent également le focus focus.
La raison du changement de focus sera Qt::OtherFocusReason. Utilisez la méthode surchargée pour spécifier la raison du focus afin de permettre une meilleure gestion du changement de focus.
Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
Voir également activeFocus.
[invokable] void QQuickItem::forceActiveFocus(Qt::FocusReason reason)
Force la focalisation active sur l'élément avec l'adresse reason.
Cette méthode met l'accent sur l'élément et garantit que tous les objets ancêtres FocusScope dans la hiérarchie des objets reçoivent également focus.
Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
Il s'agit d'une fonction surchargée.
Voir également activeFocus et Qt::FocusReason.
[virtual protected, since 6.0] void QQuickItem::geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry)
Cette fonction est appelée pour gérer les changements de géométrie de cet élément de oldGeometry à newGeometry. Si les deux géométries sont identiques, elle ne fait rien.
Les classes dérivées doivent appeler la méthode de la classe de base dans leur implémentation.
Cette fonction a été introduite dans Qt 6.0.
QSharedPointer<QQuickItemGrabResult> QQuickItem::grabToImage(const QSize &targetSize = QSize())
Saisit l'élément dans une image en mémoire.
L'acquisition se fait de manière asynchrone et le signal QQuickItemGrabResult::ready() est émis lorsque l'acquisition est terminée.
Utilisez targetSize pour spécifier la taille de l'image cible. Par défaut, le résultat aura la même taille que l'élément.
Si la saisie n'a pas pu être lancée, la fonction renvoie null.
Remarque : cette fonction rendra l'objet sur une surface hors écran et copiera cette surface de la mémoire du GPU vers la mémoire du CPU, ce qui peut être assez coûteux. Pour une prévisualisation "en direct", utilisez layers ou ShaderEffectSource.
Voir également QQuickWindow::grabWindow().
[protected] bool QQuickItem::heightValid() const
Indique si la propriété "height" a été définie explicitement.
[virtual protected] void QQuickItem::hoverEnterEvent(QHoverEvent *event)
Ce gestionnaire d'événements peut être réimplémenté dans une sous-classe pour recevoir les événements de survol et d'entrée d'un élément. Les informations relatives à l'événement sont fournies par le paramètre event.
Les événements de survol ne sont fournis que si acceptHoverEvents() est vrai.
L'événement est accepté par défaut, il n'est donc pas nécessaire de l'accepter explicitement si vous réimplémentez cette fonction. Si vous n'acceptez pas l'événement, appelez event->ignore().
[virtual protected] void QQuickItem::hoverLeaveEvent(QHoverEvent *event)
Ce gestionnaire d'événements peut être réimplémenté dans une sous-classe pour recevoir les événements de survol et de sortie d'un élément. Les informations relatives à l'événement sont fournies par le paramètre event.
Les événements de survol ne sont fournis que si acceptHoverEvents() est vrai.
L'événement est accepté par défaut, il n'est donc pas nécessaire de l'accepter explicitement si vous réimplémentez cette fonction. Si vous n'acceptez pas l'événement, appelez event->ignore().
[virtual protected] void QQuickItem::hoverMoveEvent(QHoverEvent *event)
Ce gestionnaire d'événements peut être réimplémenté dans une sous-classe pour recevoir les événements de survol et de déplacement d'un élément. Les informations relatives à l'événement sont fournies par le paramètre event.
Les événements de survol ne sont fournis que si acceptHoverEvents() est vrai.
L'événement est accepté par défaut, il n'est donc pas nécessaire de l'accepter explicitement si vous réimplémentez cette fonction. Si vous n'acceptez pas l'événement, appelez event->ignore().
qreal QQuickItem::implicitWidth() const
Renvoie la largeur de l'élément qui est impliquée par d'autres propriétés qui déterminent le contenu.
Remarque : fonction Getter pour la propriété implicitWidth.
Voir également setImplicitWidth().
[virtual protected] void QQuickItem::inputMethodEvent(QInputMethodEvent *event)
Ce gestionnaire d'événements peut être réimplémenté dans une sous-classe pour recevoir les événements de la méthode d'entrée d'un élément. Les informations relatives à l'événement sont fournies par le paramètre event.
L'événement est accepté par défaut, il n'est donc pas nécessaire d'accepter explicitement l'événement si vous réimplémentez cette fonction. Si vous n'acceptez pas l'événement, appelez event->ignore().
[virtual] QVariant QQuickItem::inputMethodQuery(Qt::InputMethodQuery query) const
Cette méthode ne concerne que les éléments de saisie.
Si cet élément est un élément d'entrée, cette méthode doit être réimplémentée pour renvoyer les drapeaux de méthode d'entrée pertinents pour l'élément donné query.
Voir également QWidget::inputMethodQuery().
bool QQuickItem::isAncestorOf(const QQuickItem *child) const
Renvoie true si cet élément est un ancêtre de child (c'est-à-dire si cet élément est le parent de child ou l'un des ancêtres du parent de child).
Voir aussi parentItem().
[protected] bool QQuickItem::isComponentComplete() const
Retourne true si la construction du composant QML est terminée, sinon retourne false.
Il est souvent souhaitable de retarder certains traitements jusqu'à ce que le composant soit terminé.
Voir également componentComplete().
bool QQuickItem::isFocusScope() const
Retourne true si cet élément est une portée de focus, et false dans le cas contraire.
[virtual] bool QQuickItem::isTextureProvider() const
Retourne true si cet élément est un fournisseur de texture. L'implémentation par défaut renvoie false.
Cette fonction peut être appelée depuis n'importe quel thread.
[virtual protected] void QQuickItem::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value)
Appelé lorsque change se produit pour cet élément.
value contient des informations supplémentaires relatives à la modification, le cas échéant.
Si vous réimplémentez cette méthode dans une sous-classe, assurez-vous d'appeler
QQuickItem::itemChange(change, value);
typiquement à la fin de votre implémentation, pour vous assurer que le signal windowChanged() sera émis.
bool QQuickItem::keepMouseGrab() const
Indique si l'entrée de la souris doit rester exclusivement sur cet élément.
Voir aussi setKeepMouseGrab(), QEvent::accept() et QEvent::ignore().
bool QQuickItem::keepTouchGrab() const
Retourne si les points de contact saisis par cet élément doivent rester exclusivement avec cet élément.
Voir aussi setKeepTouchGrab(), keepMouseGrab(), QEvent::accept() et QEvent::ignore().
[virtual protected] void QQuickItem::keyPressEvent(QKeyEvent *event)
Ce gestionnaire d'événements peut être réimplémenté dans une sous-classe pour recevoir les événements de pression sur une touche pour un élément. Les informations relatives à l'événement sont fournies par le paramètre event.
L'événement est accepté par défaut, il n'est donc pas nécessaire d'accepter explicitement l'événement si vous réimplémentez cette fonction. Si vous n'acceptez pas l'événement, appelez event->ignore().
[virtual protected] void QQuickItem::keyReleaseEvent(QKeyEvent *event)
Ce gestionnaire d'événements peut être réimplémenté dans une sous-classe pour recevoir les événements de libération des touches d'un élément. Les informations relatives à l'événement sont fournies par le paramètre event.
L'événement est accepté par défaut, il n'est donc pas nécessaire d'accepter explicitement l'événement si vous réimplémentez cette fonction. Si vous n'acceptez pas l'événement, appelez event->ignore().
[invokable] QPointF QQuickItem::mapFromGlobal(const QPointF &point) const
Met en correspondance le point donné point dans le système de coordonnées global de l'écran avec le point équivalent dans le système de coordonnées de cet élément, et renvoie la coordonnée mise en correspondance.
Les propriétés suivantes de l'élément sont utilisées dans le mappage : x, y, scale, rotation, transformOrigin, et transform.
Si les éléments font partie de scènes différentes, la correspondance inclut la position relative des deux scènes.
Par exemple, cela peut être utile pour ajouter une fenêtre contextuelle à un composant Qt Quick.
Remarque : le positionnement de la fenêtre est effectué par le gestionnaire de fenêtres et cette valeur n'est traitée que comme une indication. La position de la fenêtre qui en résulte peut donc être différente de celle attendue.
Remarque : si cet élément se trouve dans une sous-scène, par exemple s'il est mappé sur un objet 3D Model, le mappage UV est incorporé dans cette transformation, de sorte qu'elle va réellement des coordonnées de l'écran aux coordonnées de cet élément, tant que point se trouve dans les limites de cet élément. Les autres fonctions de mapping ne fonctionnent pas encore de cette manière.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
Voir aussi Concepts - Coordonnées visuelles dans Qt Quick.
[invokable] QPointF QQuickItem::mapFromItem(const QQuickItem *item, const QPointF &point) const
Met en correspondance le point donné point dans le système de coordonnées de item avec le point équivalent dans le système de coordonnées de cet élément, et renvoie la coordonnée mise en correspondance.
Les propriétés suivantes de l'élément sont utilisées dans la mise en correspondance : x, y, scale, rotation, transformOrigin, et transform.
Si les éléments font partie de scènes différentes, la correspondance inclut la position relative des deux scènes.
Si item est nullptr, la correspondance se fait avec point à partir du système de coordonnées de la scène.
Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
Voir également Concepts - Coordonnées visuelles à l'adresse Qt Quick.
QPointF QQuickItem::mapFromScene(const QPointF &point) const
Met en correspondance le point point dans le système de coordonnées de la scène avec le point équivalent dans le système de coordonnées de cet élément, et renvoie la coordonnée mise en correspondance.
Les propriétés suivantes de l'élément sont utilisées dans la mise en correspondance : x, y, scale, rotation, transformOrigin, et transform.
Si les éléments font partie de scènes différentes, la correspondance inclut la position relative des deux scènes.
Voir aussi Concepts - Coordonnées visuelles dans Qt Quick.
QRectF QQuickItem::mapRectFromItem(const QQuickItem *item, const QRectF &rect) const
Met en correspondance le site rect dans le système de coordonnées de item avec la zone rectangulaire équivalente dans le système de coordonnées de cet élément, et renvoie la valeur du rectangle mis en correspondance.
Les propriétés suivantes de l'élément sont utilisées dans la mise en correspondance : x, y, scale, rotation, transformOrigin, et transform.
Si les éléments font partie de scènes différentes, la correspondance inclut la position relative des deux scènes.
Si item est nullptr, rect est mappé à partir du système de coordonnées de la scène.
Voir également Concepts - Coordonnées visuelles à l'adresse Qt Quick.
QRectF QQuickItem::mapRectFromScene(const QRectF &rect) const
Met en correspondance le site rect dans le système de coordonnées de la scène avec la zone rectangulaire équivalente dans le système de coordonnées de cet élément, et renvoie la valeur du rectangle mis en correspondance.
Les propriétés suivantes de l'élément sont utilisées dans le mappage : x, y, scale, rotation, transformOrigin, et transform.
Si les éléments font partie de scènes différentes, la correspondance inclut la position relative des deux scènes.
Voir aussi Concepts - Coordonnées visuelles dans Qt Quick.
QRectF QQuickItem::mapRectToItem(const QQuickItem *item, const QRectF &rect) const
Met en correspondance le site rect dans le système de coordonnées de cet élément avec la zone rectangulaire équivalente dans le système de coordonnées de item, et renvoie la valeur du rectangle mis en correspondance.
Les propriétés suivantes de l'élément sont utilisées dans le mappage : x, y, scale, rotation, transformOrigin, et transform.
Si les éléments font partie de scènes différentes, la correspondance inclut la position relative des deux scènes.
Si item est nullptr, rect est mappé dans le système de coordonnées de la scène.
Voir aussi Concepts - Coordonnées visuelles dans Qt Quick.
QRectF QQuickItem::mapRectToScene(const QRectF &rect) const
Met en correspondance le site rect dans le système de coordonnées de l'élément avec la zone rectangulaire équivalente dans le système de coordonnées de la scène, et renvoie la valeur du rectangle mis en correspondance.
Les propriétés suivantes de l'élément sont utilisées dans le mappage : x, y, scale, rotation, transformOrigin, et transform.
Si les éléments font partie de scènes différentes, la correspondance inclut la position relative des deux scènes.
Voir aussi Concepts - Coordonnées visuelles dans Qt Quick.
[invokable] QPointF QQuickItem::mapToGlobal(const QPointF &point) const
Met en correspondance le point point dans le système de coordonnées de l'élément avec le point équivalent dans le système de coordonnées global de l'écran et renvoie la coordonnée mise en correspondance.
Les propriétés suivantes de l'élément sont utilisées dans le mappage : x, y, scale, rotation, transformOrigin, et transform.
Si les éléments font partie de scènes différentes, la correspondance inclut la position relative des deux scènes.
Par exemple, cela peut être utile pour ajouter une fenêtre contextuelle à un composant Qt Quick.
Remarque : le positionnement de la fenêtre est effectué par le gestionnaire de fenêtres et cette valeur n'est traitée que comme une indication. La position de la fenêtre qui en résulte peut donc être différente de celle attendue.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
Voir également Concepts - Coordonnées visuelles à l'adresse Qt Quick.
[invokable] QPointF QQuickItem::mapToItem(const QQuickItem *item, const QPointF &point) const
Met en correspondance le point donné point dans le système de coordonnées de cet élément avec le point équivalent dans le système de coordonnées de item, et renvoie la coordonnée mise en correspondance.
Les propriétés suivantes de l'élément sont utilisées dans la mise en correspondance : x, y, scale, rotation, transformOrigin, et transform.
Si les éléments font partie de scènes différentes, la correspondance inclut la position relative des deux scènes.
Si item est nullptr, la correspondance est établie entre point et le système de coordonnées de la scène.
Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
Voir également Concepts - Coordonnées visuelles à l'adresse Qt Quick.
QPointF QQuickItem::mapToScene(const QPointF &point) const
Met en correspondance le point point dans le système de coordonnées de l'élément avec le point équivalent dans le système de coordonnées de la scène et renvoie la coordonnée mise en correspondance.
Les propriétés suivantes de l'élément sont utilisées dans le mappage : x, y, scale, rotation, transformOrigin, et transform.
Si les éléments font partie de scènes différentes, la correspondance inclut la position relative des deux scènes.
Voir aussi Concepts - Coordonnées visuelles dans Qt Quick.
[virtual protected] void QQuickItem::mouseDoubleClickEvent(QMouseEvent *event)
Ce gestionnaire d'événements peut être réimplémenté dans une sous-classe pour recevoir les événements de double-clic de la souris pour un élément. Les informations relatives à l'événement sont fournies par le paramètre event.
L'événement est accepté par défaut, il n'est donc pas nécessaire d'accepter explicitement l'événement si vous réimplémentez cette fonction. Si vous n'acceptez pas l'événement, appelez event->ignore().
[virtual protected] void QQuickItem::mouseMoveEvent(QMouseEvent *event)
Ce gestionnaire d'événements peut être réimplémenté dans une sous-classe pour recevoir les événements de déplacement de la souris pour un élément. Les informations relatives à l'événement sont fournies par le paramètre event.
Pour recevoir les événements de déplacement de la souris, l'événement précédent de pression de la souris doit être accepté (en surchargeant mousePressEvent(), par exemple) et acceptedMouseButtons() doit renvoyer le bouton de la souris correspondant.
L'événement est accepté par défaut, il n'est donc pas nécessaire de l'accepter explicitement si vous réimplémentez cette fonction. Si vous n'acceptez pas l'événement, appelez event->ignore().
[virtual protected] void QQuickItem::mousePressEvent(QMouseEvent *event)
Ce gestionnaire d'événements peut être réimplémenté dans une sous-classe pour recevoir les événements de pression de la souris pour un élément. Les informations relatives à l'événement sont fournies par le paramètre event.
Pour recevoir les événements de pression de la souris, acceptedMouseButtons() doit renvoyer le bouton de la souris correspondant.
L'événement est accepté par défaut, il n'est donc pas nécessaire d'accepter explicitement l'événement si vous réimplémentez cette fonction. Si vous n'acceptez pas l'événement, appelez event->ignore().
[virtual protected] void QQuickItem::mouseReleaseEvent(QMouseEvent *event)
Ce gestionnaire d'événements peut être réimplémenté dans une sous-classe pour recevoir les événements de relâchement de la souris pour un élément. Les informations relatives à l'événement sont fournies par le paramètre event.
Pour recevoir des événements de relâchement de la souris, l'événement précédent d'appui sur la souris doit être accepté (en surchargeant mousePressEvent(), par exemple) et acceptedMouseButtons() doit renvoyer le bouton de la souris correspondant.
L'événement est accepté par défaut, il n'est donc pas nécessaire de l'accepter explicitement si vous réimplémentez cette fonction. Si vous n'acceptez pas l'événement, appelez event->ignore().
[virtual protected] void QQuickItem::mouseUngrabEvent()
Ce gestionnaire d'événement peut être réimplémenté dans une sous-classe afin d'être notifié lorsqu'un événement de dégagement de la souris s'est produit sur cet élément.
[invokable] QQuickItem *QQuickItem::nextItemInFocusChain(bool forward = true)
Renvoie l'élément de la chaîne de mise au point qui est le plus proche de cet élément. Si forward est true ou n'est pas fourni, il s'agit de l'élément suivant dans la direction avant. Si forward est false, il s'agit de l'élément suivant dans le sens inverse.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
void QQuickItem::polish()
Planifie un événement de polissage pour cet élément.
Lorsque le graphe de scène traite la demande, il appelle updatePolish() sur cet élément.
Voir aussi updatePolish(), QQuickTest::qIsPolishScheduled() et ensurePolished().
[virtual protected] void QQuickItem::releaseResources()
Cette fonction est appelée lorsqu'un élément doit libérer des ressources graphiques qui ne sont pas déjà gérées par les nœuds renvoyés par QQuickItem::updatePaintNode().
Cela se produit lorsque l'élément est sur le point d'être retiré de la fenêtre dans laquelle il a été rendu précédemment. L'élément est assuré d'avoir un window lorsque la fonction est appelée.
La fonction est appelée sur le fil d'exécution de l'interface graphique et l'état du fil d'exécution du rendu, lorsqu'il est utilisé, est inconnu. Les objets ne doivent pas être supprimés directement, mais plutôt programmés pour être nettoyés à l'aide de QQuickWindow::scheduleRenderJob().
Voir également Graphics Resource Handling.
QQuickItem *QQuickItem::scopedFocusItem() const
Si cet élément est une portée de focalisation, cela renvoie l'élément de sa chaîne de focalisation qui a actuellement la focalisation.
Retourne nullptr si cet élément n'est pas une portée de focalisation.
void QQuickItem::setAcceptHoverEvents(bool enabled)
Si enabled est vrai, cela permet à l'élément d'accepter les événements de survol ; sinon, les événements de survol ne sont pas acceptés par cet élément.
Voir également acceptHoverEvents().
void QQuickItem::setAcceptTouchEvents(bool enabled)
Si enabled est vrai, cela permet à l'élément d'accepter les événements tactiles ; sinon, les événements tactiles ne sont pas acceptés par cet élément.
Voir également acceptTouchEvents().
void QQuickItem::setAcceptedMouseButtons(Qt::MouseButtons buttons)
Définit les boutons de souris acceptés par cet élément à buttons.
Remarque : dans Qt 5, l'appel à setAcceptedMouseButtons() entraînait implicitement la réception par un élément d'événements tactiles ainsi que d'événements de souris ; mais il était recommandé d'appeler setAcceptTouchEvents() pour s'y abonner. Dans Qt 6, il est nécessaire d'appeler setAcceptTouchEvents() pour continuer à les recevoir.
Voir aussi acceptedMouseButtons().
void QQuickItem::setCursor(const QCursor &cursor)
Définit la forme de cursor pour cet élément.
Voir aussi cursor() et unsetCursor().
void QQuickItem::setFiltersChildMouseEvents(bool filter)
Définit si les événements de pointeur destinés aux enfants de cet élément doivent être filtrés à travers cet élément.
Si filter est vrai, childMouseEventFilter() sera appelé lorsqu'un événement de pointeur est déclenché pour un élément enfant.
Voir également filtersChildMouseEvents().
void QQuickItem::setFlag(QQuickItem::Flag flag, bool enabled = true)
Active l'indicateur flag spécifié pour cet élément si enabled est vrai ; si enabled est faux, l'indicateur est désactivé.
Par exemple, l'indicateur ItemClipsChildrenToShape indique que tous les enfants de cet élément doivent être coupés pour tenir dans la zone de l'élément.
void QQuickItem::setFlags(QQuickItem::Flags flags)
Active l'adresse flags spécifiée pour cet élément.
Voir également flags() et setFlag().
void QQuickItem::setFocusPolicy(Qt::FocusPolicy policy)
Définit la politique de mise au point de cet élément à policy.
Note : Fonction de définition de la propriété focusPolicy.
Voir également focusPolicy().
void QQuickItem::setKeepMouseGrab(bool keep)
Définit si l'entrée de la souris doit rester exclusivement avec cet élément.
Cela est utile pour les éléments qui souhaitent saisir et conserver l'interaction de la souris en suivant un geste prédéfini. Par exemple, un élément qui s'intéresse au mouvement horizontal de la souris peut fixer keepMouseGrab à true une fois qu'un seuil a été dépassé. Une fois que keepMouseGrab a été défini comme vrai, les éléments de filtrage ne réagissent pas aux événements de la souris.
Si keep est faux, un élément de filtrage peut s'emparer de la souris. Par exemple, Flickable peut tenter de voler une saisie de souris s'il détecte que l'utilisateur a commencé à déplacer la fenêtre.
Voir également keepMouseGrab().
void QQuickItem::setKeepTouchGrab(bool keep)
Définit si les points de contact saisis par cet élément doivent rester exclusivement avec cet élément.
Cela est utile pour les éléments qui souhaitent saisir et conserver des points de contact spécifiques à la suite d'un geste prédéfini. Par exemple, un élément qui s'intéresse au mouvement horizontal des points de contact peut définir setKeepTouchGrab sur true une fois qu'un seuil a été dépassé. Une fois que setKeepTouchGrab a été fixé à true, les éléments de filtrage ne réagissent pas aux points de contact concernés.
Si keep est faux, un élément filtrant peut voler la prise. Par exemple, Flickable peut tenter de voler un point de contact s'il détecte que l'utilisateur a commencé à déplacer la fenêtre.
Voir également keepTouchGrab() et setKeepMouseGrab().
void QQuickItem::setSize(const QSizeF &size)
Fixe la taille de l'élément à size. Cette méthode préserve tout lien existant sur la largeur et la hauteur ; ainsi, tout changement qui déclenche l'exécution du lien à nouveau remplacera les valeurs fixées.
Voir également size, setWidth, et setHeight.
QSizeF QQuickItem::size() const
Renvoie la taille de l'élément.
Voir aussi setSize, width, et height.
void QQuickItem::stackAfter(const QQuickItem *sibling)
Déplace cet élément à l'index suivant l'élément frère spécifié dans la liste des enfants. L'ordre des enfants affecte à la fois l'ordre d'empilement visuel et l'ordre de navigation dans les onglets.
En supposant que les valeurs z des deux éléments soient identiques, sibling sera rendu sous cet élément.
Si les deux éléments ont pour valeur activeFocusOnTab true , l'ordre de mise au point des onglets sera également modifié, sibling recevant la mise au point avant cet élément.
Le site sibling doit être un frère de cet élément, c'est-à-dire qu'il doit avoir le même site parent.
Voir également Concepts - Parent visuel dans Qt Quick.
void QQuickItem::stackBefore(const QQuickItem *sibling)
Déplace cet élément à l'index précédant l'élément frère spécifié dans la liste des enfants. L'ordre des enfants affecte à la fois l'ordre d'empilement visuel et l'ordre de navigation dans les onglets.
En supposant que les valeurs z des deux éléments soient identiques, sibling sera rendu au-dessus de cet élément.
Si les deux éléments ont pour valeur activeFocusOnTab true , l'ordre de mise en évidence des onglets sera également modifié, sibling étant mis en évidence après cet élément.
Le site sibling doit être un frère de cet élément, c'est-à-dire qu'il doit avoir le même site parent.
Voir également Concepts - Parent visuel dans Qt Quick.
[virtual] QSGTextureProvider *QQuickItem::textureProvider() const
Renvoie le fournisseur de texture d'un élément. L'implémentation par défaut renvoie nullptr.
Cette fonction ne peut être appelée que sur le thread de rendu.
[virtual protected] void QQuickItem::touchEvent(QTouchEvent *event)
Ce gestionnaire d'événements peut être réimplémenté dans une sous-classe pour recevoir les événements tactiles d'un élément. Les informations relatives à l'événement sont fournies par le paramètre event.
L'événement est accepté par défaut, il n'est donc pas nécessaire d'accepter explicitement l'événement si vous réimplémentez cette fonction. Si vous n'acceptez pas l'événement, appelez event->ignore().
[virtual protected] void QQuickItem::touchUngrabEvent()
Ce gestionnaire d'événement peut être réimplémenté dans une sous-classe afin d'être notifié lorsqu'un événement de désappropriation tactile s'est produit sur cet élément.
void QQuickItem::unsetCursor()
Efface la forme du curseur pour cet élément.
Voir aussi cursor() et setCursor().
[slot] void QQuickItem::update()
Planifie un appel à updatePaintNode() pour cet article.
L'appel à QQuickItem::updatePaintNode() aura toujours lieu si l'élément est affiché dans une page QQuickWindow.
Seuls les éléments qui spécifient QQuickItem::ItemHasContents sont autorisés à appeler QQuickItem::update().
[protected] void QQuickItem::updateInputMethod(Qt::InputMethodQueries queries = Qt::ImQueryInput)
Notifier à la méthode d'entrée les valeurs de requête mises à jour si nécessaire. queries indique les attributs modifiés.
[virtual protected] QSGNode *QQuickItem::updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *updatePaintNodeData)
Appelée sur le thread de rendu lorsqu'il est temps de synchroniser l'état de l'élément avec le graphe de scène.
La fonction est appelée à la suite de QQuickItem::update(), si l'utilisateur a activé le drapeau QQuickItem::ItemHasContents sur l'élément.
La fonction doit renvoyer la racine du sous-arbre du graphe de scène pour cet élément. La plupart des implémentations renvoient un seul QSGGeometryNode contenant la représentation visuelle de cet élément. oldNode est le nœud qui a été renvoyé la dernière fois que la fonction a été appelée. updatePaintNodeData fournit un pointeur sur le QSGTransformNode associé à ce QQuickItem.
QSGNode *MyItem::updatePaintNode(QSGNode *node, UpdatePaintNodeData *) { QSGSimpleRectNode *n = static_cast<QSGSimpleRectNode *>(node); if (!n) { n = new QSGSimpleRectNode(); n->setColor(Qt::red); } n->setRect(boundingRect()); return n; }
Le thread principal est bloqué pendant l'exécution de cette fonction, de sorte qu'il n'y a aucun risque à lire les valeurs de l'instance QQuickItem et d'autres objets dans le thread principal.
Si aucun appel à QQuickItem::updatePaintNode() n'entraîne de modification du graphe de la scène, comme QSGNode::markDirty() ou l'ajout et la suppression de nœuds, l'implémentation sous-jacente peut décider de ne pas effectuer de nouveau rendu de la scène, car le résultat visuel est identique.
Attention : Il est crucial que les opérations graphiques et l'interaction avec le graphe de la scène se produisent exclusivement sur le thread de rendu, principalement pendant l'appel QQuickItem::updatePaintNode(). La meilleure règle est de n'utiliser que des classes avec le préfixe "QSG" à l'intérieur de la fonction QQuickItem::updatePaintNode().
Attention : Cette fonction est appelée sur le thread de rendu. Cela signifie que tout QObject ou stockage local de thread créé aura une affinité avec le thread de rendu, donc soyez prudent si vous faites autre chose que du rendu dans cette fonction. De même, les signaux seront émis par le thread de rendu et seront donc souvent délivrés via des connexions en file d'attente.
Note : Toutes les classes avec le préfixe QSG doivent être utilisées uniquement sur le thread de rendu du graphe de scène. Voir Scene Graph and Rendering pour plus d'informations.
Voir aussi QSGMaterial, QSGGeometryNode, QSGGeometry, QSGFlatColorMaterial, QSGTextureMaterial, QSGNode::markDirty(), et Graphics Resource Handling.
[virtual protected] void QQuickItem::updatePolish()
Cette fonction doit effectuer toute mise en page nécessaire pour cet élément.
Lorsque polish() est appelé, le graphe de scène planifie un événement de polissage pour cet élément. Lorsque le graphe de scène est prêt à effectuer le rendu de cet élément, il appelle updatePolish() pour effectuer la mise en page de l'élément avant d'effectuer le rendu de l'image suivante.
Voir également ensurePolished().
QQuickItem *QQuickItem::viewportItem() const
Si l'indicateur ItemObservesViewport est activé, renvoie le parent le plus proche avec l'indicateur ItemIsViewport. Renvoie l'élément de contenu de la fenêtre si l'indicateur n'est pas activé ou si aucun autre élément de la fenêtre n'est trouvé.
Renvoie nullptr uniquement s'il n'y a pas d'élément dans la fenêtre et si cet élément n'est pas affiché dans une fenêtre.
Voir également clipRect().
[virtual protected] void QQuickItem::wheelEvent(QWheelEvent *event)
Ce gestionnaire d'événements peut être réimplémenté dans une sous-classe pour recevoir les événements de roue d'un élément. Les informations relatives à l'événement sont fournies par le paramètre event.
L'événement est accepté par défaut, il n'est donc pas nécessaire d'accepter explicitement l'événement si vous réimplémentez cette fonction. Si vous n'acceptez pas l'événement, appelez event->ignore().
[protected] bool QQuickItem::widthValid() const
Indique si la propriété width a été définie explicitement.
QQuickWindow *QQuickItem::window() const
Renvoie la fenêtre dans laquelle cet élément est rendu.
L'élément n'a pas de fenêtre tant qu'il n'a pas été affecté à une scène. Le signal windowChanged() permet de notifier à la fois l'entrée de l'élément dans une scène et son retrait d'une scène.
[signal] void QQuickItem::windowChanged(QQuickWindow *window)
Ce signal est émis lorsque l'adresse window de l'élément change.
© 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.







