2015-11-05 5 views
1

Есть ли способ в QML или Qt или C++, чтобы знать, если экран (или платформа) поддерживают тактильное, и более конкретно, если поддержка экран мультитачОбнаружение сенсорных свойств экрана

Является ли это вообще возможно?

EDIT:

На окнах, кажется, мы могли бы попытаться перечислить устройство, чтобы найти тот, который соответствовал https://support.microsoft.com/en-us/kb/259695

Это также должно быть возможно на Linux

СВЯЗАНО:

What's the best way to detect a 'touch screen' device using JavaScript?

Is there a way to determine if the current screen supports touch?

ответ

2

Вы можете использовать функцию статического QTouchDevice::devices() для перечисления доступных сенсорных устройств и функцию capabilities() для проверки возможностей отдельных устройств. Чтобы проверить поддержку мультитач, вы, вероятно, назовете maximumTouchPoints().

Класс QTouchDevice описывает устройство, с которого происходят события касания.

Каждый QTouchEvent содержит указатель QTouchDevice, позволяющий получать доступ к свойствам, специфичным для устройства, таким как тип и возможности. Платформа или общие плагины несут ответственность за регистрацию доступных сенсорных устройств через QWindowSystemInterface перед генерированием любых событий касания. Приложениям не требуется создавать экземпляр этого класса, они должны просто обращаться к глобальным экземплярам, ​​на которые указывает QTouchEvent :: device().

+0

Спасибо, он работает практически для всех платформ, которые я могу проверить. По какой-то причине один из них возвращает maximumTouchPoints = 0, хотя есть сенсорный экран, который может принимать 1 точку касания. – BlueMagma

+0

Пожалуйста, напишите сообщение об ошибке: bugreports.qt.io – Mitch

Смежные вопросы