Класс QVirtualKeyboardTrace
Trace — это модель данных для данных о сенсорном вводе. Подробнее...
| Заголовок: | #include <QVirtualKeyboardTrace> |
| qmake: | QT += virtualkeyboard |
| С момента: | QtQuick.VirtualKeyboard 2.0 |
| Инициализируется: | Trace |
| Наследуется от: | QObject |
Этот класс был представлен в QtQuick.VirtualKeyboard 2.0.
Свойства
Открытые функции
| 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) |
| 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"Собирает время для каждой точки данных. Время — это количество миллисекунд с 1970/01/01:
Например, чтобы настроить объект на сбор времени для каждой точки:
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) |
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) |
Документация функций-членов
int QVirtualKeyboardTrace::addPoint(const QPointF &point)
Добавляет point в QVirtualKeyboardTrace.
Метод возвращает индекс добавленной точки или -1, если точки добавить нельзя (т.е. final равно true).
Примечание: Возвращаемый индекс необходим для связывания дополнительных данных с точкой с помощью метода setChannelData().
Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
QVariantList QVirtualKeyboardTrace::channelData(const QString &channel, int pos = 0, int count = -1) const
Возвращает данные из указанного channel. Если другие параметры не заданы, метод возвращает все данные.
Если параметр pos задан, метод возвращает данные, начиная с указанной позиции. Параметр count ограничивает количество возвращаемых элементов.
Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
См. также setChannelData().
QVariantList QVirtualKeyboardTrace::points(int pos = 0, int count = -1) const
Возвращает список точек. Если параметры не заданы, метод возвращает все данные.
Если параметр pos задан, метод возвращает точки, начиная с указанной позиции. Параметр count ограничивает количество возвращаемых точек.
Возвращаемый список содержит типы QPointF.
Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
void QVirtualKeyboardTrace::setChannelData(const QString &channel, int index, const QVariant &data)
Устанавливает data для точки с индексом index в заданном канале данных channel.
Если этот метод не вызывается для каждой точки данных, данные канала будут заполнены пустыми значениями. Однако данные нельзя добавить в произвольный индекс, т.е. их необходимо добавлять синхронно с данными точки.
Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
См. также channelData().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qvirtualkeyboardtrace.html