MultiPointTouchArea QML Type
Permite el manejo de múltiples puntos de contacto. Más...
| Import Statement: | import QtQuick |
| Inherits: |
Propiedades
- maximumTouchPoints : int
- minimumTouchPoints : int
- mouseEnabled : bool
- touchPoints : list<TouchPoint>
Señales
- canceled(list<TouchPoint> touchPoints)
- gestureStarted(GestureEvent gesture)
- pressed(list<TouchPoint> touchPoints)
- released(list<TouchPoint> touchPoints)
- touchUpdated(list<TouchPoint> touchPoints)
- updated(list<TouchPoint> touchPoints)
Descripción detallada
Un MultiPointTouchArea es un elemento invisible que se utiliza para realizar un seguimiento de múltiples puntos táctiles.
La propiedad Item::enabled se utiliza para habilitar y deshabilitar el manejo táctil. Cuando está deshabilitada, el área táctil se vuelve transparente a los eventos de ratón y tacto.
Por defecto, el ratón será manejado de la misma manera que un único punto táctil, y los elementos bajo el área táctil no recibirán eventos de ratón porque el área táctil los está manejando. Pero si la propiedad mouseEnabled se establece en false, se vuelve transparente a los eventos de ratón de modo que otro elemento sensible al ratón (como MouseArea) puede ser utilizado para manejar la interacción del ratón por separado.
MultiPointTouchArea se puede utilizar de dos maneras:
- configurando
touchPointspara proporcionar objetos de punto táctil con propiedades que se pueden vincular a - usando los manejadores onTouchUpdated o onPressed, onUpdated y onReleased
Mientras que un MultiPointTouchArea puede tener la propiedad exclusiva de ciertos puntos táctiles, también es posible tener múltiples MultiPointTouchAreas activas al mismo tiempo, cada una operando sobre un conjunto diferente de puntos táctiles.
Véase también TouchPoint.
Documentación de propiedades
Estas propiedades contienen el rango de puntos táctiles que serán manejados por el área táctil.
Estas propiedades permiten, por ejemplo, tener áreas MultiPointTouch anidadas, una que gestione dos toques con el dedo y otra que gestione tres toques con el dedo.
Por defecto, se manejan todos los puntos táctiles dentro del área táctil.
Si mouseEnabled es verdadero, el ratón actúa como un punto táctil, por lo que también está sujeto a estas restricciones: por ejemplo, si maximumTouchPoints es dos, puede utilizar el ratón como un punto táctil y un dedo como otro punto táctil para un total de dos.
mouseEnabled : bool
Esta propiedad controla si el MultiPointTouchArea manejará también los eventos del ratón. Si es true (por defecto), el área táctil tratará el ratón igual que un único punto táctil; si es false, el área táctil ignorará los eventos del ratón y permitirá que "pasen" para que puedan ser manejados por otros elementos situados debajo.
touchPoints : list<TouchPoint> [read-only]
Esta propiedad contiene un conjunto de objetos de puntos táctiles definidos por el usuario a los que se puede enlazar.
Si mouseEnabled es verdadero (por defecto) y el botón izquierdo del ratón es presionado mientras el ratón está sobre el área táctil, la posición actual del ratón será uno de estos puntos táctiles.
En el siguiente ejemplo, tenemos dos pequeños rectángulos que siguen nuestros puntos táctiles.
import QtQuick Rectangle { width: 400; height: 400 MultiPointTouchArea { anchors.fill: parent touchPoints: [ TouchPoint { id: point1 }, TouchPoint { id: point2 } ] } Rectangle { width: 30; height: 30 color: "green" x: point1.x y: point1.y } Rectangle { width: 30; height: 30 color: "yellow" x: point2.x y: point2.y } }
Por defecto, esta propiedad contiene una lista vacía.
Véase también TouchPoint.
Documentación de señales
canceled(list<TouchPoint> touchPoints)
Esta señal se emite cuando se han cancelado nuevos eventos táctiles porque otro elemento ha robado la gestión de eventos táctiles.
Esta señal es para uso avanzado: es útil cuando hay más de un MultiPointTouchArea que está manejando la entrada, o cuando hay un MultiPointTouchArea dentro de un Flickable. En este último caso, si se ejecuta alguna lógica en el manejador de señales onPressed y luego se empieza a arrastrar, el Flickable puede robar el manejo táctil del MultiPointTouchArea. En estos casos, para restablecer la lógica cuando el MultiPointTouchArea ha perdido el manejo táctil al Flickable, se debe manejar canceled además de released.
touchPoints es la lista de puntos cancelados.
Nota: Si utilizas el argumento touchPoints en el código de tu manejador de señal, es mejor renombrarlo en tu parámetro formal para evitar confusiones con la propiedad touchPoints (ver Convenciones de Codificación QML):
onCanceled: (points) => console.log("canceled", points.length)Nota: El manejador correspondiente es onCanceled.
gestureStarted(GestureEvent gesture)
Esta señal se emite cuando se ha alcanzado el umbral de arrastre global.
Esta señal se utiliza normalmente cuando se ha anidado un MultiPointTouchArea en un Flickable o en otro MultiPointTouchArea. Cuando el umbral ha sido alcanzado y la señal es manejada, puedes determinar si el área táctil debe o no agarrar los puntos táctiles actuales. Por defecto no se agarrarán; para agarrarlos llame a gesture.grab(). Si el gesto no es agarrado, el Flickable anidado, por ejemplo, también tendría la oportunidad de agarrar.
El objeto gesture también incluye información sobre el conjunto actual de touchPoints y el dragThreshold.
Nota: El manejador correspondiente es onGestureStarted.
pressed(list<TouchPoint> touchPoints)
Esta señal se emite cuando se añaden nuevos puntos de contacto. touchPoints es una lista de estos nuevos puntos.
Si minimumTouchPoints se establece en un valor mayor que uno, esta señal no se emitirá hasta que se haya alcanzado el número mínimo de puntos de contacto requeridos.
Nota: Si utilizas el argumento touchPoints en el código de tu manejador de señal, es mejor que le cambies el nombre en tu parámetro formal para evitar confusiones con la propiedad touchPoints (ver Convenciones de Codificación QML):
onPressed: (points) => console.log("pressed", points.length)Nota: El manejador correspondiente es onPressed.
released(list<TouchPoint> touchPoints)
Esta señal se emite cuando se eliminan puntos táctiles existentes. touchPoints es una lista de estos puntos eliminados.
Nota: Si utilizas el argumento touchPoints en el código de tu manejador de señal, es mejor renombrarlo en tu parámetro formal para evitar confusiones con la propiedad touchPoints (ver Convenciones de Codificación QML):
onReleased: (points) => console.log("released", points.length)Nota: El manejador correspondiente es onReleased.
touchUpdated(list<TouchPoint> touchPoints)
Esta señal se emite cuando cambian los puntos táctiles gestionados por MultiPointTouchArea. Esto incluye añadir nuevos puntos táctiles, eliminar o cancelar puntos táctiles anteriores, así como actualizar los datos de los puntos táctiles actuales. touchPoints es la lista de todos los puntos táctiles actuales.
Nota: El manejador correspondiente es onTouchUpdated.
updated(list<TouchPoint> touchPoints)
Esta señal se emite cuando se actualizan los puntos táctiles existentes. touchPoints es una lista de estos puntos actualizados.
Nota: Si utilizas el argumento touchPoints en el código de tu manejador de señal, es mejor renombrarlo en tu parámetro formal para evitar confusiones con la propiedad touchPoints (ver Convenciones de Codificación QML):
onUpdated: (points) => console.log("updated", points.length)Nota: El manejador correspondiente es onUpdated.
© 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.