Класс QTouchDevice
Класс QTouchDevice описывает устройство, из которого происходят события касания. Подробнее...
| Заголовок: | #include <QTouchDevice> |
| qmake: | QT += gui |
| С момента: | Qt 5.0 |
Типы публичного доступа
| флаги | Возможности |
| перечисление | CapabilityFlag { Position, Area, Pressure, Velocity, ..., MouseEmulation } |
| перечисление | ТипУстройства { СенсорныйЭкран, СенсорнаяПоверхность } |
Функции публичного доступа
| 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() |
Подробное описание
Класс 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. |
Тип Возможности является typedef для 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/archives/qt-5.11/qtouchdevice.html