我正在開發Qt應用程序,它類似於Mac的十六進制編輯器。 (圖片來自谷歌) 兩個手指移動平滑和動態滾動觸控板或觸摸板?
在有數據的很大一部分垂直滾動(向上和向下),因爲它顯示了在十六進制格式的所有大型文件的數據。
在我的應用程序中,我想在兩個方向上添加兩個手指平滑滾動:像Macbook Air兩個手指滾動一樣向上和向下滾動。 它可以用鼠標滾輪正常工作,但不能用觸控板兩根手指移動滾動。
如果有人有解決方案,請幫助我。提前致謝。
我正在開發Qt應用程序,它類似於Mac的十六進制編輯器。 (圖片來自谷歌) 兩個手指移動平滑和動態滾動觸控板或觸摸板?
在有數據的很大一部分垂直滾動(向上和向下),因爲它顯示了在十六進制格式的所有大型文件的數據。
在我的應用程序中,我想在兩個方向上添加兩個手指平滑滾動:像Macbook Air兩個手指滾動一樣向上和向下滾動。 它可以用鼠標滾輪正常工作,但不能用觸控板兩根手指移動滾動。
如果有人有解決方案,請幫助我。提前致謝。
滾動器允許像點擊和拖動一樣的手勢來進行動態滾動。
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
希望有幫助。
Actualy我正在使用Qt 4.6,並且沒有名爲QScroller的Class。請建議我備用解決方案。 – Sam
Qt 5.x不是一個選項?我以前認爲touch不被支持。你也可以嘗試實現你自己的動態滾動,並使其具有強大的焦點,使你擁有它的QScrollArea。然後處理mouseScrollEvents進行動態滾動。 – phyatt
在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
請編輯您的帖子以獲得可接受的英語,並告訴我們您已經嘗試了些什麼。 – Xan