QVirtualKeyboardTrace Class
Trace ist ein Datenmodell für Touch-Eingabedaten. Mehr...
Kopfzeile: | #include <QVirtualKeyboardTrace> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS VirtualKeyboard) target_link_libraries(mytarget PRIVATE Qt6::VirtualKeyboard) |
qmake: | QT += virtualkeyboard |
Since: | QtQuick.VirtualKeyboard 2.0 |
In QML: | Trace |
Vererbt: | 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 QtQuick.VirtualKeyboard.Styles 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) |
Detaillierte Beschreibung
Trace bietet das Datenmodell für Koordinatendaten und andere optionale Daten, die mit einem einzelnen Strich verbunden sind.
Ein typischer Anwendungsfall für das Trace-Objekt ist wie folgt:
- TraceInputArea Der Benutzer oder ein anderes Eingabegerät initiiert das Trace-Ereignis durch den Aufruf der Methode InputEngine.traceBegin().
- Wenn die aktuelle Eingabemethode das Ereignis annimmt, 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 den Trace zu beenden und das Trace-Objekt an die Eingabemethode zurückzugeben.
- Die Eingabemethode verarbeitet die Daten und verwirft das Objekt, wenn es nicht mehr benötigt wird.
Die Koordinatendaten werden mit der Funktion points() abgerufen.
Zusätzlich zu den koordinatenbasierten Daten ist es möglich, für jeden Datenpunkt einen beliebigen Datenkanal zu verwenden.
Die Datenkanäle müssen definiert werden, bevor die Punkte hinzugefügt werden. Die von TraceInputArea unterstützten Datenkanäle sind im Folgenden aufgeführt:
"t"
Sammelt die Zeit für jeden Datenpunkt. Die Zeit ist die Anzahl der Millisekunden seit 1970/01/01:
Zum Beispiel, um das Objekt so zu konfigurieren, dass die Zeiten für jeden Punkt gesammelt werden:
QVirtualKeyboardTrace *trace = new QVirtualKeyboardTrace(this); trace->setChannels(QStringList() << "t");
Die gesammelten Daten können mit der Funktion channelData() abgerufen werden:
QVariantList timeData = trace->channelData("t");
QVirtualKeyboardTrace-Objekte sind Eigentum ihres Erzeugers, 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 der Eigenschaften
canceled : bool
definiert, ob die QVirtualKeyboardTrace abgebrochen wird.
Die Eingangsdaten sollten nicht von den Traces verarbeitet werden, deren canceled
Eigenschaft auf true gesetzt ist.
Zugriffsfunktionen:
bool | isCanceled() const |
void | setCanceled(bool canceled) |
Melder-Signal:
void | canceledChanged(bool isCanceled) |
channels : QStringList
Liste der Datenkanäle im QQTrace.
Diese Eigenschaft muss initialisiert werden, bevor die Daten hinzugefügt werden.
Zugriffsfunktionen:
QStringList | channels() const |
void | setChannels(const QStringList &channels) |
Melder-Signal:
void | channelsChanged() |
final : bool
legt fest, ob die QVirtualKeyboardTrace weitere Daten annehmen kann. Wenn der Wert true
ist, werden keine weiteren Daten akzeptiert.
Zugriffsfunktionen:
bool | isFinal() const |
void | setFinal(bool final) |
Melder-Signal:
void | finalChanged(bool isFinal) |
[read-only]
length : const int
Diese Eigenschaft enthält die Anzahl der Punkte in der QVirtualKeyboardTrace.
Zugriffsfunktionen:
int | length() const |
Benachrichtigungssignal:
void | lengthChanged(int length) |
opacity : qreal
Mit dieser Eigenschaft wird festgelegt, wie undurchsichtig die QVirtualKeyboardTrace ist.
Ein niedrigerer Wert führt zu einer transparenteren Kurve: 0.0
ist vollständig transparent, und 1.0
ist vollständig undurchsichtig.
Diese Eigenschaft ist nützlich, um ältere Spuren transparenter zu machen, wenn neue hinzugefügt werden.
Zugriffsfunktionen:
qreal | opacity() const |
void | setOpacity(qreal opacity) |
Benachrichtigungssignal:
void | opacityChanged(qreal opacity) |
traceId : int
eindeutige Kennung dieser QVirtualKeyboardTrace.
Zugriffsfunktionen:
int | traceId() const |
void | setTraceId(int id) |
Benachrichtigungssignal:
void | traceIdChanged(int traceId) |
Mitgliederfunktion Dokumentation
[invokable]
int QVirtualKeyboardTrace::addPoint(const QPointF &point)
Fügt einen point zu QVirtualKeyboardTrace 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 mit der Methode setChannelData() zusätzliche Daten zuzuordnen.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus 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.
Wenn der Parameter pos angegeben wird, gibt die Methode Daten ab der angegebenen Position zurück. Der Parameter count begrenzt, wie viele Elemente zurückgegeben werden.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus 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.
Wenn der Parameter pos angegeben wird, gibt die Methode Punkte zurück, die an der Position beginnen. Der Parameter count begrenzt, wie viele Punkte zurückgegeben werden.
Die zurückgegebene Liste enthält die Typen QPointF.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[invokable]
void QVirtualKeyboardTrace::setChannelData(const QString &channel, int index, const QVariant &data)
Legt data für den Punkt index in den angegebenen Daten channel fest.
Wenn diese Methode nicht für jeden Datenpunkt aufgerufen wird, 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 Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
Siehe auch channelData().
[invokable, since QtQuick.VirtualKeyboard.Styles 6.1]
void QVirtualKeyboardTrace::startHideTimer(int delayMs)
Startet einen Timer, um die Deckkraft nach delayMs auf Null zu setzen. Bei erneutem Aufruf innerhalb von delayMs wird der Timer neu gestartet.
Mit dieser Funktion kann die Eingabemethode die Messkurve vom Bildschirm ausblenden, bevor das Messkurvenobjekt zerstört wird, um beispielsweise anzuzeigen, dass die Messkurve verarbeitet wurde.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
Diese Funktion wurde in QtQuick.VirtualKeyboard.Styles 6.1 eingeführt.
© 2025 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.