Класс 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 |
Типы public
| Перечисление | PointerType { Unknown, Generic, Finger, Pen, Eraser, …, AllPointerTypes } |
| Флаги | PointerTypes |
Public Функции
| 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 |
Статические public члены
| 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>. Он хранит OR-комбинацию значений 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.0/qpointingdevice.html