Класс QTouchDevice
Класс QTouchDevice описывает устройство, из которого происходят события касания. Подробнее...
| Заголовок: | #include <QTouchDevice> |
| qmake: | QT += gui |
| С тех пор: | Qt 5.0 |
Типы Public
| флаги | Возможности |
| перечисление | CapabilityFlag { Position, Area, Pressure, Velocity, ..., MouseEmulation } |
| перечисление | ТипУстройства { СенсорныйЭкран, Тачпад } |
Функции Public
| 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 |
Статические члены Public
| QList<const QTouchDevice *> | devices() |
| const QMetaObject | staticMetaObject |
Подробное описание
Класс QTouchDevice описывает устройство, из которого происходят события касания.
Каждый 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. |
Тип Capabilities является псевдонимом для QFlags<CapabilityFlag>. Он хранит объединение значений CapabilityFlag.
перечисление QTouchDevice::ТипУстройства
Это перечисление представляет тип устройства, сгенерировавшего QTouchEvent.
| Константа | Значение | Описание |
|---|---|---|
QTouchDevice::TouchScreen |
0 |
В этом типе устройства поверхность касания и дисплей интегрированы. Это означает, что поверхность и дисплей, как правило, имеют одинаковый размер, так что существует прямая взаимосвязь между физическими позициями точек касания и координатами, которые сообщает QTouchEvent::TouchPoint. В результате Qt позволяет пользователю взаимодействовать напрямую с несколькими QWidgets и QGraphicsItems одновременно. |
QTouchDevice::TouchPad |
1 |
В этом типе устройства поверхность касания отделена от дисплея. Нет прямой взаимосвязи между физическим расположением касания и координатами на экране. Вместо этого они рассчитываются относительно текущей позиции мыши, и пользователь должен использовать тачпад для перемещения этой точки отсчета. В отличие от сенсорных экранов, Qt позволяет пользователям взаимодействовать только с одним QWidget или QGraphicsItem за раз. |
Документация по функциям-членам
QTouchDevice::QTouchDevice()
Создает новый экземпляр устройства касания. По умолчанию имя пустое, единственной возможностью является Position, а типом является СенсорныйЭкран.
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.12/qtouchdevice.html