Класс QTouchDevice
Класс QTouchDevice описывает устройство, из которого происходят события касания. Подробнее...
| Заголовок: | #include <QTouchDevice> |
| qmake: | QT += gui |
| С момента: | Qt 5.0 |
Типы публичного доступа
| флаги | Возможности |
| перечисление | CapabilityFlag { Позиция, Область, Давление, Скорость, ..., Эмуляция мыши } |
| перечисление | ТипУстройства { СенсорныйЭкран, СенсорнаяПоверхность } |
Функции публичного доступа
| QTouchDevice() | |
| ~QTouchDevice() | |
| Возможности | capabilities() const |
| int | maximumTouchPoints() const |
| QString | name() const |
| void | setCapabilities(Возможности caps) |
| void | setMaximumTouchPoints(int max) |
| void | setName(const QString &name) |
| void | setType(ТипУстройства devType) |
| ТипУстройства | 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 |
Указывает, что доступна информация о давлении, что означает, что давление() возвращает допустимое значение. |
QTouchDevice::Velocity |
0x0008 |
Указывает, что доступна информация о скорости, что означает, что скорость() возвращает допустимый вектор. |
QTouchDevice::RawPositions |
0x0010 |
Указывает, что список, возвращаемый QTouchEvent::TouchPoint::rawScreenPositions(), может содержать одну или несколько позиций для каждой точки касания. Это актуально, когда входной сигнал касания фильтруется или корректируется на уровне драйвера. |
QTouchDevice::NormalizedPosition |
0x0020 |
Указывает, что доступна информация о нормализованной позиции, что означает, что normalizedPos() возвращает допустимое значение. |
QTouchDevice::MouseEmulation |
0x0040 |
Указывает, что устройство эмулирует события мыши. Это значение перечисления было введено в Qt 5.5. |
Тип Возможности — это синоним для QFlags<CapabilityFlag>. Он хранит логическое ИЛИ сочетание значений CapabilityFlag.
перечисление QTouchDevice::ТипУстройства
Это перечисление представляет тип устройства, которое сгенерировало QTouchEvent.
| Константа | Значение | Описание |
|---|---|---|
QTouchDevice::TouchScreen |
0 |
В этом типе устройства сенсорная поверхность и дисплей объединены. Это означает, что поверхность и дисплей, как правило, имеют одинаковый размер, так что существует прямая связь между физическими позициями точек касания и координатами, возвращаемыми QTouchEvent::TouchPoint. В результате Qt позволяет пользователю взаимодействовать одновременно с несколькими QWidgets и QGraphicsItems. |
QTouchDevice::TouchPad |
1 |
В этом типе устройства сенсорная поверхность отделена от дисплея. Нет прямой связи между физическим местоположением касания и координатами на экране. Вместо этого они рассчитываются относительно текущего положения мыши, и пользователь должен использовать сенсорную панель для перемещения этой точки отсчёта. В отличие от сенсорных экранов, Qt позволяет пользователю взаимодействовать только с одним QWidget или QGraphicsItem за раз. |
Документация по функциям-членам
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(Возможности caps)
Устанавливает возможности caps, поддерживаемые устройством и его драйвером.
См. также capabilities().
void QTouchDevice::setMaximumTouchPoints(int max)
Устанавливает максимальное количество одновременных точек касания max, поддерживаемых устройством и его драйвером.
См. также maximumTouchPoints().
void QTouchDevice::setName(const QString &name)
Устанавливает имя (уникальный идентификатор) устройства. В большинстве систем достаточно оставить это значение неопределённым и сохранить имя по умолчанию — пустое. Этот идентификатор становится важным при наличии нескольких сенсорных устройств и необходимости различать их.
См. также name().
void QTouchDevice::setType(DeviceType devType)
Устанавливает тип устройства devType.
См. также type().
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.9/qtouchdevice.html