QVirtualKeyboardTrace Class
„Trace“ ist ein Datenmodell für Berührungseingaben. Mehr dazu...
| Überschrift: | #include <QVirtualKeyboardTrace> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS VirtualKeyboard) target_link_libraries(mytarget PRIVATE Qt6::VirtualKeyboard) |
| qmake: | QT += virtualkeyboard |
| Seit: | QtQuick.VirtualKeyboard 2.0 |
| In QML: | Trace |
| Erbt von: | QObject |
Eigenschaften
Öffentliche Funktionen
| int | addPoint(const QPointF &point) |
| QVariantList | channelData(const QString &channel, int pos = 0, int count = -1) const |
| QStringList | channels() const |
| bool | isCanceled() const |
| bool | isFinal() const |
| int | length() const |
| qreal | opacity() const |
| QVariantList | points(int pos = 0, int count = -1) const |
| void | setCanceled(bool canceled) |
| void | setChannelData(const QString &channel, int index, const QVariant &data) |
| void | setChannels(const QStringList &channels) |
| void | setFinal(bool final) |
| void | setOpacity(qreal opacity) |
| void | setTraceId(int id) |
(since 6.1) void | startHideTimer(int delayMs) |
| int | traceId() const |
Signale
| void | canceledChanged(bool isCanceled) |
| void | channelsChanged() |
| void | finalChanged(bool isFinal) |
| void | lengthChanged(int length) |
| void | opacityChanged(qreal opacity) |
| void | traceIdChanged(int traceId) |
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 aus, indem es die Methode ` InputEngine.traceBegin()` aufruft.
- 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 wird in Millisekunden seit dem 01.01.1970 angegeben:
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");QVirtualKeyboardTrace-Objekte gehören ihrem Ersteller, bei dem es sich im Normalfall um die Eingabemethode handelt. 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 der Eigenschaften
canceled : bool
Legt fest, ob die „ QVirtualKeyboardTrace “ abgebrochen wird.
Die Eingabedaten aus den Traces, deren Eigenschaft „ canceled “ auf „true“ gesetzt ist, sollten nicht verarbeitet werden.
Zugriffsfunktionen:
| bool | isCanceled() const |
| void | setCanceled(bool canceled) |
Notifier-Signal:
| void | canceledChanged(bool isCanceled) |
channels : QStringList
Liste der Datenkanäle in QQTrace.
Diese Eigenschaft muss initialisiert werden, bevor die Daten hinzugefügt werden.
Zugriffsfunktionen:
| QStringList | channels() const |
| void | setChannels(const QStringList &channels) |
Benachrichtigungssignal:
| void | channelsChanged() |
final : bool
Legt fest, ob der „ QVirtualKeyboardTrace “ weitere Daten annehmen kann. Wenn der Wert „ true “ lautet, werden keine weiteren Daten mehr angenommen.
Zugriffsfunktionen:
| bool | isFinal() const |
| void | setFinal(bool final) |
Benachrichtigungssignal:
| void | finalChanged(bool isFinal) |
[read-only] length : int
Diese Eigenschaft enthält die Anzahl der Punkte im „ QVirtualKeyboardTrace “.
Zugriffsfunktionen:
| int | length() const |
Benachrichtigungssignal:
| void | lengthChanged(int length) |
opacity : qreal
Diese Eigenschaft legt fest, wie undurchsichtig die „ QVirtualKeyboardTrace “ ist.
Ein niedrigerer Wert führt zu einer transparenteren Spur: „ 0.0 “ ist vollständig transparent, und „ 1.0 “ ist vollständig undurchsichtig.
Diese Eigenschaft ist nützlich, um ältere Traces transparenter zu gestalten, wenn neue hinzugefügt werden.
Zugriffsfunktionen:
| qreal | opacity() const |
| void | setOpacity(qreal opacity) |
Notifier-Signal:
| void | opacityChanged(qreal opacity) |
traceId : int
Eindeutige ID dieser QVirtualKeyboardTrace.
Zugriffsfunktionen:
| int | traceId() const |
| void | setTraceId(int id) |
Benachrichtigungssignal:
| void | traceIdChanged(int traceId) |
Dokumentation der Member-Funktionen
[invokable] int QVirtualKeyboardTrace::addPoint(const QPointF &point)
Fügt dem „ QVirtualKeyboardTrace “ 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., wenn der ` final ` wahr ist).
Hinweis: Der zurückgegebene Index wird benötigt, um dem Punkt mithilfe der Methode „ setChannelData()“ zusätzliche Daten zuzuordnen.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe „ Q_INVOKABLE “.
[invokable] QVariantList QVirtualKeyboardTrace::channelData(const QString &channel, int pos = 0, int count = -1) const
Gibt Daten aus dem angegebenen ` channel` zurück. Wenn keine weiteren Parameter angegeben werden, gibt die Methode alle Daten zurück.
Wird der Parameter ` pos ` angegeben, gibt die Methode Daten ab dieser Position zurück. Der Parameter ` count ` begrenzt die Anzahl der zurückgegebenen Elemente.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe „ Q_INVOKABLE “.
Siehe auch ` setChannelData()`.
[invokable] QVariantList QVirtualKeyboardTrace::points(int pos = 0, int count = -1) const
Gibt eine Liste von Punkten zurück. Wenn keine Parameter angegeben werden, gibt die Methode alle Daten zurück.
Wird der Parameter „ pos “ angegeben, gibt die Methode Punkte ab dieser Position zurück. Der Parameter „ count “ begrenzt die Anzahl der zurückgegebenen Punkte.
Die zurückgegebene Liste enthält die Typen „ QPointF “.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe „ Q_INVOKABLE “.
[invokable] void QVirtualKeyboardTrace::setChannelData(const QString &channel, int index, const QVariant &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.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
Siehe auch channelData().
[invokable, since 6.1] void QVirtualKeyboardTrace::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 Trace-Anzeige vom Bildschirm ausblenden, bevor das Trace-Objekt zerstört wird, beispielsweise um anzuzeigen, dass die Trace-Anzeige verarbeitet wurde.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
Diese Funktion 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.