Класс QTouchDevice
Класс QTouchDevice описывает устройство, из которого происходят события касания. Подробнее...
| Заголовок: | #include <QTouchDevice> |
| qmake: | QT += gui |
| С момента: | Qt 5.0 |
Этот класс был представлен в Qt 5.0.
Типы публичного доступа
| флаги | Возможности |
| перечисление | CapabilityFlag { Позиция, Область, Давление, Скорость, ..., Эмуляция мыши } |
| перечисление | ТипУстройства { СенсорныйЭкран, СенсорнаяПоверхность } |
Функции публичного доступа
| QTouchDevice() | |
| ~QTouchDevice() | |
| QTouchDevice::Возможности | capabilities() const |
| int | maximumTouchPoints() const |
| QString | name() const |
| void | setCapabilities(QTouchDevice::Возможности caps) |
| void | setMaximumTouchPoints(int max) |
| void | setName(const QString &name) |
| void | setType(QTouchDevice::ТипУстройства devType) |
| QTouchDevice::ТипУстройства | type() const |
Статические функции публичного доступа
| QList<const QTouchDevice *> | devices() |
Подробное описание
Каждый QTouchEvent содержит указатель на QTouchDevice, чтобы предоставить доступ к свойствам устройства, таким как тип и возможности. Ответственность за регистрацию доступных устройств касания через QWindowSystemInterface возлагается на платформу или общие плагины до генерации любых событий касания. Приложениям не нужно создавать экземпляры этого класса, они должны просто получить доступ к глобальным экземплярам, на которые указывает QTouchEvent::device().
Документация по типам членов
перечисление QTouchDevice::CapabilityFlagфлаги QTouchDevice::Возможности
Это перечисление используется с QTouchDevice::capabilities() для указания вида информации, которую может предоставить устройство касания или его драйвер.
| Константа | Значение | Описание |
|---|---|---|
QTouchDevice::Position |
0x0001 |
Указывает, что информация о позиции доступна, то есть функции pos() в точках касания возвращают действительные точки. |
QTouchDevice::Area |
0x0002 |
Указывает, что информация о области касания доступна, то есть функции rect() в точках касания возвращают действительные прямоугольники. |
QTouchDevice::Pressure |
0x0004 |
Указывает, что информация о давлении доступна, то есть pressure() возвращает действительное значение. |
QTouchDevice::Velocity |
0x0008 |
Указывает, что информация о скорости доступна, то есть velocity() возвращает действительный вектор. |
QTouchDevice::RawPositions |
0x0010 |
Указывает, что список, возвращаемый QTouchEvent::TouchPoint::rawScreenPositions(), может содержать одну или несколько позиций для каждой точки касания. Это актуально, когда входной сигнал касания фильтруется или корректируется на уровне драйвера. |
QTouchDevice::NormalizedPosition |
0x0020 |
Указывает, что нормализованная позиция доступна, то есть normalizedPos() возвращает действительное значение. |
QTouchDevice::MouseEmulation |
0x0040 |
Указывает, что устройство эмулирует события мыши. Это значение перечисления было введено в Qt 5.5. |
Тип Возможности является typedef для QFlags<CapabilityFlag>. Он хранит объединение значений CapabilityFlag.
перечисление QTouchDevice::ТипУстройства
Это перечисление представляет тип устройства, которое сгенерировало QTouchEvent.
| Константа | Значение | Описание |
|---|---|---|
QTouchDevice::TouchScreen |
0 |
В этом типе устройства сенсорная поверхность и дисплей объединены. Это означает, что поверхность и дисплей, как правило, имеют одинаковый размер, так что существует прямая связь между физическими позициями точек касания и координатами, сообщаемыми QTouchEvent::TouchPoint. В результате Qt позволяет пользователю взаимодействовать непосредственно с несколькими QWidgets и QGraphicsItems одновременно. |
QTouchDevice::TouchPad |
1 |
В этом типе устройства сенсорная поверхность отделена от дисплея. Нет прямой связи между физическим расположением касания и координатами на экране. Вместо этого они вычисляются относительно текущей позиции мыши, и пользователь должен использовать сенсорную панель для перемещения этой опорной точки. В отличие от сенсорных экранов, Qt позволяет пользователю взаимодействовать только с одним QWidget или QGraphicsItem одновременно. |
Документация по функциям-членам
QTouchDevice::QTouchDevice()
Создает новый экземпляр устройства касания. По умолчанию имя пустое, единственная возможность — Позиция, и тип — СенсорныйЭкран.
QTouchDevice::~QTouchDevice()
Удаляет экземпляр устройства касания.
QTouchDevice::Возможности QTouchDevice::capabilities() const
Возвращает возможности устройства касания.
См. также setCapabilities().
[static] QList<const QTouchDevice *> QTouchDevice::devices()
Возвращает список всех зарегистрированных устройств.
Примечание: Возвращаемый список нельзя использовать для добавления новых устройств. Для добавления симулированного сенсорного экрана для автотеста можно использовать QTest::createTouchDevice(). Для добавления реальных сенсорных экранов в плагины QPA можно использовать частную функцию QWindowSystemInterface::registerTouchDevice().
int QTouchDevice::maximumTouchPoints() const
Возвращает максимальное количество одновременных точек касания (пальцев), которые могут быть обнаружены.
Эта функция была представлена в Qt 5.2.
См. также setMaximumTouchPoints().
QString QTouchDevice::name() const
Возвращает имя устройства касания.
Эта строка часто бывает пустой. Однако она полезна для систем, имеющих более одного устройства ввода касания, поскольку она может использоваться для различения устройств (например, для определения того, из какого устройства исходит QTouchEvent).
См. также setName().
void QTouchDevice::setCapabilities(QTouchDevice::Возможности caps)
Устанавливает возможности caps, поддерживаемые устройством и его драйвером.
См. также capabilities().
void QTouchDevice::setMaximumTouchPoints(int max)
Устанавливает максимальное количество одновременных точек касания max, поддерживаемых устройством и его драйвером.
См. также maximumTouchPoints().
void QTouchDevice::setName(const QString &name)
Устанавливает имя (уникальный идентификатор) для устройства. В большинстве систем достаточно оставить его без значения и сохранить имя по умолчанию (пустое). Этот идентификатор становится важным при наличии нескольких сенсорных устройств и необходимости их различать.
См. также name().
void QTouchDevice::setType(QTouchDevice::DeviceType devType)
Устанавливает тип устройства devType.
См. также type().
QTouchDevice::DeviceType QTouchDevice::type() const
Возвращает тип сенсорного устройства.
См. также setType().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qtouchdevice.html