Класс QVirtualKeyboardTrace
Trace — это модель данных для данных о касаниях. Подробнее...
| Заголовок: | #include <QVirtualKeyboardTrace> |
| CMake: | find_package(Qt6 COMPONENTS VirtualKeyboard REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::VirtualKeyboard) |
| qmake: | QT += virtualkeyboard |
| С момента: | QtQuick.VirtualKeyboard 2.0 |
| Инициализируется из: | Trace |
| Наследует: | QObject |
Свойства
Общедоступные функции
| 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) |
| void | startHideTimer(int delayMs) |
| int | traceId() const |
Сигналы
| void | canceledChanged(bool isCanceled) |
| void | channelsChanged() |
| void | finalChanged(bool isFinal) |
| void | lengthChanged(int length) |
| void | opacityChanged(qreal opacity) |
| void | traceIdChanged(int traceId) |
Подробное описание
Trace предоставляет модель данных для координатных данных и других необязательных данных, связанных с одной линией.
Типичный случай использования объекта trace следующий:
- TraceInputArea или другое устройство ввода инициирует событие trace, вызвав метод InputEngine.traceBegin().
- Если текущий метод ввода принимает событие, он создаёт объект trace и настраивает необходимые каналы данных (если таковые имеются).
- TraceInputArea собирает данные для объекта Trace.
- TraceInputArea вызывает метод InputEngine.traceEnd(), чтобы завершить trace и передать объект trace обратно методу ввода.
- Метод ввода обрабатывает данные и удаляет объект, когда он больше не нужен.
Координатные данные извлекаются с помощью функции points().
Помимо координатных данных, можно прикрепить произвольный канал данных для каждого точки данных.
Каналы данных должны быть определены до добавления точек. Каналы данных, поддерживаемые TraceInputArea, перечислены ниже:
-
"t"Собирает время для каждой точки данных. Время — это количество миллисекунд с 01.01.1970:
Например, чтобы настроить объект на сбор времени для каждой точки:
QVirtualKeyboardTrace *trace = new QVirtualKeyboardTrace(this); trace->setChannels(QStringList() << "t");
Собранные данные можно получить, используя функцию channelData():
QVariantList timeData = trace->channelData("t"); Объекты QVirtualKeyboardTrace владеют своим создателем, которым в нормальном случае является метод ввода. Это означает, что объекты создаются в методе InputMethod.traceBegin() (QML).
По определению, объект trace может быть уничтожен не ранее, чем в методе InputMethod.traceEnd() (QML).
Документация свойств
canceled : bool
определяет, отменен ли QVirtualKeyboardTrace.
Данные ввода не должны обрабатываться из следов, у которых свойство canceled установлено в true.
Функции доступа:
| bool | isCanceled() const |
| void | setCanceled(bool canceled) |
Сигнал уведомления:
| void | canceledChanged(bool isCanceled) |
channels : QStringList
список каналов данных в QQTrace.
Это свойство должно быть инициализировано перед добавлением данных.
Функции доступа:
| QStringList | channels() const |
| void | setChannels(const QStringList &channels) |
Сигнал уведомления:
| void | channelsChanged() |
final : bool
определяет, может ли QVirtualKeyboardTrace принять больше данных. Если значение true, больше данных не принимается.
Функции доступа:
| bool | isFinal() const |
| void | setFinal(bool final) |
Сигнал уведомления:
| void | finalChanged(bool isFinal) |
[read-only] length : const int
Это свойство содержит количество точек в QVirtualKeyboardTrace.
Функции доступа:
| int | length() const |
Сигнал уведомления:
| void | lengthChanged(int length) |
opacity : qreal
Это свойство определяет, насколько непрозрачен QVirtualKeyboardTrace.
Меньшее значение приводит к более прозрачному следу: 0.0 полностью прозрачен, а 1.0 полностью непрозрачен.
Это свойство полезно для повышения прозрачности старых следов при добавлении новых.
Функции доступа:
| qreal | opacity() const |
| void | setOpacity(qreal opacity) |
Сигнал уведомления:
| void | opacityChanged(qreal opacity) |
traceId : int
уникальный идентификатор этого QVirtualKeyboardTrace.
Функции доступа:
| int | traceId() const |
| void | setTraceId(int id) |
Сигнал уведомления:
| void | traceIdChanged(int traceId) |
Документация по членам-функциям
[invokable] int QVirtualKeyboardTrace::addPoint(const QPointF &point)
Добавляет point в QVirtualKeyboardTrace.
Метод возвращает индекс добавленной точки или -1, если точки добавить нельзя (т.е. final равно true).
Примечание: Возвращаемый индекс необходим для сопоставления дополнительных данных с точкой с помощью метода setChannelData().
Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
[invokable] QVariantList QVirtualKeyboardTrace::channelData(const QString &channel, int pos = 0, int count = -1) const
Возвращает данные из указанного канала channel. Если другие параметры не заданы, метод возвращает все данные.
Если параметр pos задан, метод возвращает данные, начиная с позиции. Параметр count ограничивает количество возвращаемых элементов.
Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
См. также setChannelData().
[invokable] QVariantList QVirtualKeyboardTrace::points(int pos = 0, int count = -1) const
Возвращает список точек. Если параметры не заданы, метод возвращает все данные.
Если параметр pos задан, метод возвращает точки, начиная с позиции. Параметр count ограничивает количество возвращаемых точек.
Возвращаемый список содержит типы QPointF.
Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
[invokable] void QVirtualKeyboardTrace::setChannelData(const QString &channel, int index, const QVariant &data)
Устанавливает data для точки с индексом index в заданном канале данных channel.
Если этот метод не вызывается для каждой точки данных, данные канала будут заполнены пустыми значениями. Однако данные нельзя добавить в произвольный индекс, т.е. их необходимо добавлять синхронно с данными точки.
Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
См. также channelData().
[invokable, since QtQuick.VirtualKeyboard.Styles 6.1] void QVirtualKeyboardTrace::startHideTimer(int delayMs)
Запускает таймер, чтобы установить прозрачность в ноль после delayMs. Если его вызывают снова в течение delayMs, таймер перезапускается.
С помощью этой функции вводная методика может скрыть след с экрана до уничтожения объекта следа, например, чтобы указать, что след обработан.
Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
Эта функция была введена в QtQuick.VirtualKeyboard.Styles 6.1.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qvirtualkeyboardtrace.html