Тип QML Trace
Trace — это модель данных для данных ввода касания. Подробнее...
| Заявление об импорте: | import QtQuick.VirtualKeyboard 2.1 |
| С: | QtQuick.VirtualKeyboard 2.0 |
| Инициализирует: | QVirtualKeyboardTrace |
Свойства
Методы
- int addPoint(точка point)
- var channelData(строка channel, int pos, int count)
- var points(int pos, int count)
- void setChannelData(int index, string channel, var data)
- void startHideTimer(int delayMs)
Подробное описание
Trace предоставляет модель данных для данных координат и других необязательных данных, связанных с одним нажатием.
Типичный случай использования объекта trace следующий:
- TraceInputArea или другое устройство ввода инициирует событие trace, вызвав метод InputEngine.traceBegin().
- Если текущий метод ввода принимает событие, он создает объект trace и настраивает необходимые каналы данных (при необходимости).
- TraceInputArea собирает данные для объекта trace.
- TraceInputArea вызывает метод InputEngine.traceEnd() для завершения trace и передачи объекта trace обратно методу ввода.
- Метод ввода обрабатывает данные и удаляет объект, когда он больше не нужен.
Данные координат извлекаются с помощью функции points().
В дополнение к данным на основе координат можно прикрепить произвольный канал данных к каждой точке данных.
Каналы данных должны быть определены до добавления точек. Каналы данных, поддерживаемые TraceInputArea, перечислены ниже:
-
"t"Собирает время для каждой точки данных. Время — это количество миллисекунд с 1970/01/01:
Например, чтобы настроить объект для сбора времени для каждой точки:
QVirtualKeyboardTrace *trace = new QVirtualKeyboardTrace(this); trace->setChannels(QStringList() << "t");
Собранные данные можно получить, используя функцию channelData():
QVariantList timeData = trace->channelData("t"); Объекты Trace принадлежат своему создателю, который в нормальном случае является методом ввода. Это означает, что объекты создаются в методе InputMethod.traceBegin() (QML).
По определению, объект trace может быть уничтожен, как минимум, в методе InputMethod.traceEnd() (QML).
Документация по свойствам
canceled : bool
Это свойство определяет, отменен ли Trace. Данные ввода не должны обрабатываться из Trace, для которых свойство canceled установлено в значение true.
channels : список<строки>
Список дополнительных каналов данных в Trace. Это свойство должно быть инициализировано до добавления данных.
final : bool
Это свойство определяет, может ли Trace принимать больше данных. Если значение true, больше данных не принимаются.
[с QtQuick.VirtualKeyboard 2.4] opacity : qreal
Это свойство определяет, насколько непрозрачен Trace.
Меньшее значение приводит к более прозрачному trace: 0.0 — полностью прозрачный, а 1.0 — полностью непрозрачный.
Это свойство полезно для того, чтобы сделать более старые следы более прозрачными по мере добавления новых.
Это свойство было введено в QtQuick.VirtualKeyboard 2.4.
traceId : int
Уникальный идентификатор этого Trace.
Документация по методам
Добавляет point в Trace.
Метод возвращает индекс добавленной точки или -1, если точки нельзя добавить (т.е. final равно true).
Примечание: Возвращаемый индекс необходим для ассоциации дополнительных данных с точкой с помощью функции setChannelData().
var channelData(строка channel, int pos, int count)
Возвращает данные из указанного channel. Если другие параметры не заданы, функция возвращает все данные.
Если задан параметр pos, функция возвращает данные, начиная с заданной позиции. Параметр count ограничивает количество возвращаемых элементов.
См. также setChannelData().
var points(int pos, int count)
Возвращает список точек. Если параметры не заданы, функция возвращает все точки.
Если задан параметр pos, функция возвращает точки, начиная с заданной позиции. Параметр count ограничивает количество возвращаемых точек.
Возвращаемый список содержит типы point.
void setChannelData(int index, строка channel, var data)
Устанавливает data для точки с индексом index в заданном канале данных channel.
Если этот метод не вызывается для каждой точки данных, данные канала будут заполнены пустыми значениями. Однако данные не могут быть добавлены в произвольный индекс, т.е. они должны быть добавлены синхронно с данными точки.
См. также channelData().
[since QtQuick.VirtualKeyboard.Styles 6.1] void startHideTimer(int delayMs)
Запускает таймер для установки непрозрачности в ноль через delayMs. Если снова вызвать в течение delayMs, таймер перезапускается.
С помощью этой функции метод ввода может скрыть trace со экрана перед уничтожением объекта trace, например, чтобы указать, что trace был обработан.
Этот метод был представлен в 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/qml-qtquick-virtualkeyboard-trace.html