2014-08-20 3 views
0

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

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

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

+1

Привет! По-видимому, это зависит от вашего устройства/ОС, и в вашем случае я не знаю. Однако вы должны хотя бы взглянуть на документацию 'QTouchEvent'. – Martin

+0

Платформа BeagleBoard Black с 7-дюймовым сенсорным экраном от beagleboardtoys.com – KernelPanic

ответ

1

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

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

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