2014-05-15 204 views
-2

我正在開發Qt應用程序,它類似於Mac的十六進制編輯器。 (圖片來自谷歌) enter image description here兩個手指移動平滑和動態滾動觸控板或觸摸板?

在有數據的很大一部分垂直滾動(向上和向下),因爲它顯示了在十六進制格式的所有大型文件的數據。

在我的應用程序中,我想在兩個方向上添加兩個手指平滑滾動:像Macbook Air兩個手指滾動一樣向上和向下滾動。 它可以用鼠標滾輪正常工作,但不能用觸控板兩根手指移動滾動。

如果有人有解決方案,請幫助我。提前致謝。

+1

請編輯您的帖子以獲得可接受的英語,並告訴我們您已經嘗試了些什麼。 – Xan

回答

0

滾動器允許像點擊和拖動一樣的手勢來進行動態滾動。

http://qt-project.org/doc/qt-5/qscroller.html#details

注意此頁上:

QScroller::TouchGesture 0 
The gesture recognizer will only trigger on touch events. Specifically it will react on single touch points when using a touch screen and dual touch points when using a touchpad. 

所以後來他們給會變成這個給你的例子:

QWidget *w = ...; 
QScroller::grabGesture(w, QScroller::TouchGesture); 

有更多做觸摸新事物屏幕和觸摸板通過處理QTouchEvent:

http://qt-project.org/doc/qt-5/qtouchevent.html#details

希望有幫助。

+0

Actualy我正在使用Qt 4.6,並且沒有名爲QScroller的Class。請建議我備用解決方案。 – Sam

+0

Qt 5.x不是一個選項?我以前認爲touch不被支持。你也可以嘗試實現你自己的動態滾動,並使其具有強大的焦點,使你擁有它的QScrollArea。然後處理mouseScrollEvents進行動態滾動。 – phyatt

+0

在Qt 4.x上實現它的一些其他方法:https://blog.qt.digia.com/blog/2009/07/19/kinetic-scrolling-on-any-widgets/ http:// developer.nokia.com/community/discussion/showthread.php/214378-QScrollArea-and-finger-scroll – phyatt