qt события мыши равны событиям сенсорного экрана?

0

Я разрабатываю крошечное приложение, которое будет работать на beagleboard с 7-дюймовым сенсорным экраном, но у меня его пока нет, и я работаю над разработкой стандартного настольного приложения. Являются ли события мыши равными событиям сенсорного экрана? QTableView, и я отключил перетаскивание мышью нескольких элементов путем:

void CTableView::mouseMoveEvent(QMouseEvent* event)
{
    if(this->state()!=DragSelectingState)
        QTableView::mouseMoveEvent(event);
}

Будет ли этот код работать на сенсорном экране, если пользователь попытается выбрать несколько ячеек с пальцами?

  • 1
    Здравствуй ! По-видимому, это зависит от вашего устройства / ОС, и в вашем случае я не знаю. Тем не менее, вы должны хотя бы заглянуть в документацию QTouchEvent .
  • 0
    Платформа BeagleBoard Black с 7 "сенсорным экраном от beagleboardtoys.com
Теги:
qt

1 ответ

1
Лучший ответ

Обычно это сильно зависит от вашего сенсорного драйвера. В основном сенсорные события будут интерпретироваться как щелчки левой кнопкой мыши. И, в зависимости от вашего сенсорного драйвера, вы должны убедиться, что сенсорный диск откалиброван правильно (например, если сенсорный драйвер должен знать происхождение события касания, чтобы получить правильные координаты).

Для обработки мультитач-устройств я настоятельно рекомендую использовать QML-материал для вашего пользовательского интерфейса с помощью MultiPointTouchArea: http://qt-project.org/doc/qt-5/qml-qtquick-multipointtoucharea.html#details. Вы можете легко подключить QML-материал к вашей логике С++.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню