Класс 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.1/qpointingdevice.html