BoundaryRule QML Type
Define una restricción en el rango de valores que se pueden establecer en una propiedad numérica. Más...
| Import Statement: | import Qt.labs.animation |
Propiedades
- currentOvershoot : real
- easing : enumeration
- enabled : bool
- maximum : real
- maximumOvershoot : real
- minimum : real
- minimumOvershoot : real
- overshootFilter : enumeration
- overshootScale : real
- peakOvershoot : real
- returnDuration : int
Señales
Métodos
- bool returnToBounds()
Descripción detallada
Una BoundaryRule define el rango de valores que puede tener una determinada propiedad. Cuando se establece un valor fuera de rango, se aplica una "resistencia" a través de una curva de flexión.
Por ejemplo, la siguiente BoundaryRule evita que DragHandler arrastre el Rectángulo demasiado lejos:
import QtQuick import Qt.labs.animation Rectangle { id: root width: 170; height: 120 color: "green" DragHandler { id: dragHandler yAxis.minimum: -1000 xAxis.minimum: -1000 onActiveChanged: if (!active) xbr.returnToBounds(); } BoundaryRule on x { id: xbr minimum: -50 maximum: 100 minimumOvershoot: 40 maximumOvershoot: 40 } }
Tenga en cuenta que una propiedad no puede tener más de una BoundaryRule asignada.
Véase también Animación y transiciones en Qt Quick, Ejemplo de comportamiento, Qt Qmly Qt Quick Ejemplos - Manejadores de Puntero.
Documentación de Propiedades
currentOvershoot : real
Esta propiedad contiene la cantidad en la que el último valor establecido de la propiedad interceptada supera maximum o es inferior a minimum.
Es positiva si el valor de la propiedad supera maximum, negativa si el valor de la propiedad es inferior a minimum, o 0 si el valor de la propiedad está dentro de ambos límites.
easing : enumeration
Esta propiedad contiene la curva de relajación que se aplicará en el modo de rebasamiento (siempre que se infrinja la restricción minimum o maximum, mientras que el valor aún se encuentra dentro del rango de rebasamiento respectivo).
La curva de relajación por defecto es QEasingCurve::OutQuad.
enabled : bool
Esta propiedad indica si la regla se aplicará cuando la propiedad rastreada cambie de valor.
Por defecto se activa BoundaryRule.
maximum : real
Esta propiedad contiene el mayor valor no restringido que la propiedad puede tener. Si la propiedad tiene un valor mayor, estará limitada por easing y maximumOvershoot.
El valor por defecto es 1.
maximumOvershoot : real
Esta propiedad mantiene la cantidad que se permite que la propiedad sea mayor que maximum. Siempre que el valor sea mayor que maximum y menor que maximum + maximumOvershoot, está limitado por la curva easing. Cuando el valor intenta superar maximum + maximumOvershoot se produce una parada brusca.
El valor por defecto es 0.
minimum : real
Esta propiedad contiene el valor más pequeño sin restricciones que la propiedad puede tener. Si la propiedad tiene un valor menor, estará limitada por easing y minimumOvershoot.
El valor por defecto es 0.
minimumOvershoot : real
Esta propiedad mantiene la cantidad que se permite que la propiedad sea menor que minimum. Siempre que el valor sea menor que minimum y mayor que minimum - minimumOvershoot, está limitado por la curva easing. Cuando el valor intenta ir por debajo de minimum - minimumOvershoots se produce una parada brusca.
El valor por defecto es 0.
overshootFilter : enumeration
Esta propiedad especifica la función de agregación que se aplicará al valor de la propiedad interceptada.
Si se establece en BoundaryRule.None (el valor predeterminado), la propiedad interceptada contendrá un valor cuyo rebasamiento esté limitado a currentOvershoot. Si se establece en BoundaryRule.Peak, la propiedad interceptada contendrá un valor cuyo rebasamiento esté limitado a peakOvershoot.
overshootScale : real
Esta propiedad contiene la cantidad en la que easing se escala durante la condición de sobrepaso. Por ejemplo, si un elemento no puede moverse más de 100 píxeles más allá de un límite, y el usuario (por medio de un controlador de entrada) intenta arrastrarlo 100 píxeles más allá del límite, si overshootScale se establece en 1, el usuario tendrá éxito: el único efecto de la curva de flexión es cambiar la velocidad a la que el elemento se mueve desde el límite 0 al límite 100. Pero si se establece en 0,5, proporciona una resistencia tal que cuando el usuario intenta moverse 100 píxeles, el elemento se moverá más allá del límite. Pero si se establece en 0.5, el BoundaryRule proporciona resistencia de tal manera que cuando el usuario intenta mover 100 píxeles, el elemento sólo se moverá 50 píxeles; y la curva de flexión modula la velocidad de movimiento de tal manera que puede moverse en sincronía con el intento de movimiento del usuario al principio, y luego se ralentiza, dependiendo de la forma de la curva de flexión.
El valor por defecto es 0,5.
peakOvershoot : real
Esta propiedad mantiene el valor más positivo o más negativo de currentOvershoot que se ha visto, hasta que se llama a returnToBounds().
Esto puede ser útil cuando se sabe que el valor de la propiedad interceptada fluctúa, y se desea encontrar y reaccionar a la cantidad máxima de rebasamiento en lugar de a las fluctuaciones.
Véase también overshootFilter.
returnDuration : int
Esta propiedad contiene la cantidad de tiempo en milisegundos que returnToBounds() tardará en devolver la propiedad objetivo al límite más cercano. Si se establece en 0, returnToBounds() establecerá la propiedad inmediatamente en lugar de crear un trabajo de animación.
El valor por defecto es 100 ms.
Documentación de señales
returnedToBounds()
Esta señal se emite cuando currentOvershoot vuelve de nuevo a 0, después de que se haya violado la restricción maximum o minimum. Si el retorno es animado, la señal se emite cuando finaliza la animación.
Nota: El manejador correspondiente es onReturnedToBounds.
Véase también returnDuration y returnToBounds().
Documentación del método
bool returnToBounds()
Devuelve la propiedad interceptada a un valor entre minimum y maximum, tal que currentOvershoot y peakOvershoot sean ambos cero. Se animará si returnDuration es mayor que cero.
Devuelve true si el valor necesitaba ser ajustado, o false si ya estaba dentro de los límites.
Véase también returnedToBounds.
© 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.