Qt Quick 2 comes with a huge number of predefined easing curves for animations. However, in Qt Quick 2 it is also possible to define custom easing curves using Cubic Bézier curves.
Bézier curves are typically used in computer graphics to model smooth curves, but they can also be used in the time domain to define easing curves. As a result, users of Qt Quick 2 are not limited by the built-in easing curves and can instead define their own custom ones. This allows users to mimic very specific physics of an animation, for example.
Whether it is the transition between screens or the behavior applied to UI controls that can be interacted with, motion has become a significant element of mobile design. Therefore it is also important to control more subtle elements of animations like easing curves.
Since dealing with Bézier curves in number form is very cumbersome, we wrote a small tool called qmleasing, which is part of qtdeclarative (qt5/qtdeclarative/tools).
In the qmleasing tool, users can define the easing curves using an interactive curve editor. An easing curve does not have to be a single Bézier curve, but can be a Bézier spline consisting of several segments. To support this, control points can be added and removed by right-clicking on a segment or control point in the tool.
To give an impression of how easing curves affect animations and to show the qmleasing tool in action, I created a short video: