Auf dieser Seite

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.