Trace QML Type
Trace is a data model for touch input data. More...
|Import Statement:||import QtQuick.VirtualKeyboard 2.2|
- int addPoint(point point)
- var channelData(string channel, int pos, int count)
- var points(int pos, int count)
- void setChannelData(int index, string channel, var data)
- void startHideTimer(int delayMs)
Trace provides the data model for coordinate data and other optional data associated with a single stroke.
A typical use case for the trace object is as follows:
- TraceInputArea or other input device initiates the trace event by calling InputEngine.traceBegin() method.
- If the current input method accepts the event it creates a trace object and configures the required data channels (if any).
- TraceInputArea collects the data for the trace object.
- TraceInputArea calls the InputEngine.traceEnd() method to finish the trace and passing the trace object back to input method.
- The input method processes the data and discards the object when it is no longer needed.
The coordinate data is retrieved using the points() function.
In addition to coordinate based data, it is possible to attach an arbitrary data channel for each data point.
The data channels must be defined before the points are added. The data channels supported by the TraceInputArea are listed below:
"t"Collects time for each data point. The time is the number of milliseconds since 1970/01/01:
For example, to configure the object to collect the times for each point:
QVirtualKeyboardTrace *trace = new QVirtualKeyboardTrace(this); trace->setChannels(QStringList() << "t");
The collected data can be accessed using the channelData() function:
QVariantList timeData = trace->channelData("t");
Trace objects are owned by their creator, which is the input method in normal case. This means the objects are constructed in the InputMethod.traceBegin() (QML) method.
By definition, the trace object can be destroyed at earliest in the InputMethod.traceEnd() (QML) method.
canceled : bool
This property defines whether the Trace is canceled. The input data should not be processed from the Traces whose
canceled property set to true.
channels : list<strings>
List of additional data channels in the Trace. This property must be initialized before the data is added.
final : bool
This property defines whether the Trace can accept more data. If the value is
true, no more data is accepted.
[since QtQuick.VirtualKeyboard 2.4] opacity : qreal
This property defines how opaque the Trace is.
A lower value results in a more transparent trace:
0.0 is fully transparent, and
1.0 is fully opaque.
This property is useful for making older traces more transparent as new ones are added.
This property was introduced in QtQuick.VirtualKeyboard 2.4.
traceId : int
Unique id of this Trace.
Returns data from the specified channel. If no other parameters are given, the function returns all the data.
If the pos parameter is given, the function returns data starting at the position. The count parameter limits how many items are returned.
See also setChannelData().
Returns list of points. If no parameters are given, the function returns all the points.
If the pos parameter is given, the function returns points starting at the position. The count parameter limits how many points are returned.
The returned list contains
Sets data for the point at index in the given data channel.
If this method is not called for each data point, the channel data will be padded with empty values. However, the data cannot be added at arbitrary index, i.e., it must be added in synchronously with the point data.
See also channelData().
Starts a timer to set opacity to zero after delayMs. If called again within delayMs, the timer is restarted.
With this function the input method can hide the trace from screen before destroying the trace object, for example, to indicate that the trace has been processed.
This method was introduced in QtQuick.VirtualKeyboard.Styles 6.1.
© 2023 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.