Trace QML Type (Uncreatable)
„Trace“ ist ein Datenmodell für Touch-Eingabedaten. Mehr dazu...
| Import Statement: | import QtQuick.VirtualKeyboard |
| Since: | QtQuick.VirtualKeyboard 2.0 |
| In C++: | QVirtualKeyboardTrace |
Hinweis: Dies ist ein nicht erstellbarer Typ. Er kann in QML nicht instanziiert werden.
Eigenschaften
- canceled : bool
- channels : list<strings>
- final : bool
- opacity : real
(since QtQuick.VirtualKeyboard 2.4) - traceId : int
Methoden
- 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)
(since 6.1)
Ausführliche Beschreibung
„Trace“ stellt das Datenmodell für Koordinatendaten und andere optionale Daten bereit, die mit einem einzelnen Strich verbunden sind.
Ein typischer Anwendungsfall für das Trace-Objekt ist folgender:
- TraceInputArea oder ein anderes Eingabegerät löst das Trace-Ereignis durch den Aufruf der Methode ` InputEngine.traceBegin()` aus.
- Wenn die aktuelle Eingabemethode das Ereignis akzeptiert, erstellt sie ein Trace-Objekt und konfiguriert die erforderlichen Datenkanäle (falls vorhanden).
- TraceInputArea sammelt die Daten für das Trace-Objekt.
- TraceInputArea ruft die Methode ` InputEngine.traceEnd()` auf, um die Trace-Aufzeichnung zu beenden, und gibt das Trace-Objekt an die Eingabemethode zurück.
- Die Eingabemethode verarbeitet die Daten und verwirft das Objekt, sobald es nicht mehr benötigt wird.
Die Koordinatendaten werden mithilfe der Funktion „ points()“ abgerufen.
Zusätzlich zu den koordinatenbasierten Daten ist es möglich, jedem Datenpunkt einen beliebigen Datenkanal zuzuordnen.
Die Datenkanäle müssen vor dem Hinzufügen der Punkte definiert werden. Die von der Funktion ` TraceInputArea ` unterstützten Datenkanäle sind nachfolgend aufgeführt:
"t"Erfasst die Zeit für jeden Datenpunkt. Die Zeit entspricht der Anzahl der Millisekunden seit dem 01.01.1970:
Beispiel für die Konfiguration des Objekts zur Erfassung der Zeitangaben für jeden Punkt:
QVirtualKeyboardTrace *trace = new QVirtualKeyboardTrace(this);
trace->setChannels(QStringList() << "t");Auf die erfassten Daten kann über die Funktion ` channelData()` zugegriffen werden:
QVariantList timeData = trace->channelData("t");Trace-Objekte gehören ihrem Ersteller, der im Normalfall die Eingabemethode ist. Das bedeutet, dass die Objekte in der Methode ` InputMethod.traceBegin()` (QML) erstellt werden.
Per Definition kann das Trace-Objekt frühestens in der Methode ` InputMethod.traceEnd()` (QML) zerstört werden.
Dokumentation zu den Eigenschaften
canceled : bool
Diese Eigenschaft legt fest, ob der Trace abgebrochen wird. Die Eingabedaten von Traces, bei denen die Eigenschaft „ canceled “ auf „true“ gesetzt ist, sollten nicht verarbeitet werden.
channels : list<strings>
Liste der zusätzlichen Datenkanäle im Trace. Diese Eigenschaft muss initialisiert werden, bevor die Daten hinzugefügt werden.
final : bool
Diese Eigenschaft legt fest, ob der Trace weitere Daten annehmen kann. Wenn der Wert „ true “ lautet, werden keine weiteren Daten mehr angenommen.
opacity : real [since QtQuick.VirtualKeyboard 2.4]
Diese Eigenschaft legt fest, wie undurchsichtig die Trace-Linie ist.
Ein niedrigerer Wert führt zu einer transparenteren Trace: „ 0.0 “ ist vollständig transparent, während „ 1.0 “ vollständig undurchsichtig ist.
Diese Eigenschaft ist nützlich, um ältere Spuren transparenter zu gestalten, wenn neue hinzugefügt werden.
Diese Eigenschaft wurde in QtQuick.VirtualKeyboard 2.4 eingeführt.
traceId : int
Eindeutige ID dieser Ablaufverfolgung.
Methodendokumentation
int addPoint(point point)
Fügt der Trace-Datei einen „ point “ hinzu.
Die Methode gibt den Index des hinzugefügten Punktes zurück oder -1, wenn die Punkte nicht hinzugefügt werden können (d. h. „ final “ ist wahr).
Hinweis: Der zurückgegebene Index wird benötigt, um dem Punkt mithilfe der Funktion ` setChannelData()` zusätzliche Daten zuzuordnen.
var channelData(string channel, int pos, int count)
Gibt Daten aus dem angegebenen ` channel` zurück. Wenn keine weiteren Parameter angegeben werden, gibt die Funktion alle Daten zurück.
Wird der Parameter ` pos ` angegeben, gibt die Funktion Daten ab dieser Position zurück. Der Parameter ` count ` begrenzt die Anzahl der zurückgegebenen Elemente.
Siehe auch ` setChannelData()`.
var points(int pos, int count)
Gibt eine Liste von Punkten zurück. Wenn keine Parameter angegeben werden, gibt die Funktion alle Punkte zurück.
Wird der Parameter „ pos “ angegeben, gibt die Funktion Punkte ab dieser Position zurück. Der Parameter „ count “ begrenzt die Anzahl der zurückgegebenen Punkte.
Die zurückgegebene Liste enthält „ point “-Objekte.
void setChannelData(int index, string channel, var data)
Setzt „ data “ für den Punkt unter „ index “ in der angegebenen Daten channel.
Wird diese Methode nicht für jeden Datenpunkt aufgerufen, werden die Kanaldaten mit leeren Werten aufgefüllt. Die Daten können jedoch nicht an einem beliebigen Index hinzugefügt werden, d. h., sie müssen synchron mit den Punktdaten hinzugefügt werden.
Siehe auch channelData().
[since 6.1] void startHideTimer(int delayMs)
Startet einen Timer, der die Deckkraft nach delayMs auf Null setzt. Wird die Funktion innerhalb von delayMs erneut aufgerufen, wird der Timer neu gestartet.
Mit dieser Funktion kann die Eingabemethode die Spur vom Bildschirm ausblenden, bevor das Spur-Objekt zerstört wird, um beispielsweise anzuzeigen, dass die Spur verarbeitet wurde.
Diese Methode wurde in Qt 6.1 eingeführt.
© 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.