Класс QPointingDevice
Класс QPointingDevice описывает устройство, из которого происходят события мыши, касания или планшета. Подробнее...
| Заголовок: | #include <QPointingDevice> |
| CMake: | find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| С версии: | Qt 6.0 |
| Наследует: | QInputDevice |
Типы публичного доступа
| Перечисление | PointerType { Unknown, Generic, Finger, Pen, Eraser, …, AllPointerTypes } |
| Флаги | PointerTypes |
Публичные функции
| QPointingDevice(const QString &name, qint64 id, QInputDevice::DeviceType deviceType, QPointingDevice::PointerType pointerType, QInputDevice::Capabilities capabilities, int maxPoints, int buttonCount, const QString &seatName = QString(), QPointingDeviceUniqueId uniqueId = QPointingDeviceUniqueId(), QObject *parent = nullptr) | |
| QPointingDevice(QObject *parent = nullptr) | |
| int | buttonCount() const |
| int | maximumPoints() const |
| QPointingDevice::PointerType | pointerType() const |
| QPointingDeviceUniqueId | uniqueId() const |
Статические публичные члены
| const QPointingDevice * | primaryPointingDevice(const QString &seatName = QString()) |
Подробное описание
Каждый QPointerEvent содержит указатель QPointingDevice, чтобы предоставить доступ к свойствам устройства, таким как тип и возможности. Ответственность за регистрацию доступных устройств указания через QWindowSystemInterface перед генерацией любых событий указания лежит на платформе или общих плагинах. Приложениям не нужно создавать экземпляры этого класса, они должны просто получить доступ к глобальным экземплярам, на которые указывает QPointerEvent::device().
Документация по типам членов
Перечисление QPointingDevice::PointerTypeфлаги QPointingDevice::PointerTypes
Это перечисление представляет то, что взаимодействует с устройством указания.
Существует некоторое дублирование между этим свойством и QInputDevice::DeviceType. Например, если используется сенсорный экран, то DeviceType является TouchScreen и PointerType является Finger (всегда). Но на графическом планшете часто можно использовать оба конца стилуса, и программам нужно их различать. Поэтому концепция расширена, так что каждый QPointerEvent имеет PointerType, и это может упростить некоторые обработчики событий, позволяя игнорировать DeviceType и реагировать по-разному в зависимости только от PointerType.
Допустимые значения:
| Константа | Значение | Описание |
|---|---|---|
QPointingDevice::PointerType::Unknown |
0 |
Тип указателя неизвестен. |
QPointingDevice::PointerType::Generic |
0x0001 |
Мышь или что-то, что ведет себя как мышь (основной указатель в X11). |
QPointingDevice::PointerType::Finger |
0x0002 |
Палец пользователя. |
QPointingDevice::PointerType::Pen |
0x0004 |
Чернильный конец стилуса. |
QPointingDevice::PointerType::Eraser |
0x0008 |
Другой конец стилуса (если у него виртуальная резинка на другом конце). |
QPointingDevice::PointerType::Cursor |
0x0010 |
Прозрачный круг с перекрестьем, как на устройстве Puck. |
QPointingDevice::PointerType::AllPointerTypes |
0x7FFF |
Любой из вышеперечисленных (используется в качестве значения фильтра по умолчанию). |
Тип PointerTypes является типом-синонимом для QFlags<PointerType>. Он хранит объединение значений PointerType.
Документация по функциям членов
QPointingDevice::QPointingDevice(const QString &name, qint64 id, QInputDevice::DeviceType deviceType, QPointingDevice::PointerType pointerType, QInputDevice::Capabilities capabilities, int maxPoints, int buttonCount, const QString &seatName = QString(), QPointingDeviceUniqueId uniqueId = QPointingDeviceUniqueId(), QObject *parent = nullptr)
Создает новый экземпляр устройства указания с заданными name, deviceType, pointerType, capabilities, maxPoints, buttonCount, seatName, uniqueId и parent.
QPointingDevice::QPointingDevice(QObject *parent = nullptr)
Создает новый недействительный экземпляр устройства указания как дочерний элемент parent.
int QPointingDevice::buttonCount() const
Возвращает максимальное количество кнопок на устройстве, которые могут быть обнаружены.
Примечание: Функция-получатель для свойства buttonCount.
int QPointingDevice::maximumPoints() const
Возвращает максимальное количество одновременных точек касания (пальцев), которые могут быть обнаружены.
Примечание: Функция-получатель для свойства maximumPoints.
QPointingDevice::PointerType QPointingDevice::pointerType() const
Возвращает тип указателя.
Примечание: Функция-получатель для свойства pointerType.
[static] const QPointingDevice *QPointingDevice::primaryPointingDevice(const QString &seatName = QString())
Возвращает основное устройство указания (основной указатель, традиционно предполагается, что это мышь) на заданном сеансе seatName.
Если зарегистрировано несколько устройств указания, эта функция отдает предпочтение мыши или сенсорной панели, соответствующей заданному seatName и не имеющей другим устройством как своим родителем. Обычно только одно основное устройство не имеет родительского устройства. Но если такое устройство не найдено, эта функция создает новую виртуальную «основную» мышь. Таким образом, Qt продолжает работать на платформах, которые еще не выполняют обнаружение и регистрацию устройств ввода.
QPointingDeviceUniqueId QPointingDevice::uniqueId() const
Возвращает уникальный идентификатор (с сомнительной полезностью) для устройства.
Вероятно, вам следует больше интересоваться QPointerEventPoint::uniqueId().
Примечание: Функция-получатель для свойства uniqueId.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qpointingdevice.html