QT5觸摸屏,想實作mousemove代替滾輪事件,上下滑動scroolarea區域進行顯示,同時實作scroolarea內控制元件回應單擊事件。
方案1:
pushbutton + scroolarea
問題:1. mousemove代替滾輪事件未能實作:mousemove在經過pushbutton時,不回應。setMouseTracking(true)不起作用。
方案2:
lable + scroolarea
問題:
1. 重寫mousmove事件,判斷單擊的點是否在lable內,從而進行單擊事件判定。
但是scroolarea下方lable控制元件無法正確得到單擊事件的位置,一直都是上方的lable控制元件得到單擊事件回應。
切,上下滑動同時觸發點擊和滑動兩個事件。
現在沒有思路了,所以請大神指點下,給個思路。
非常感謝
uj5u.com熱心網友回復:
觸摸屏應該使用QTouchEvent把Qt::WA_AcceptTouchEvents屬性打開
When using QAbstractScrollArea based widgets, you should enable the Qt::WA_AcceptTouchEvents attribute on the scroll area's viewport.
uj5u.com熱心網友回復:
pushbutton自己用QWidget實作,有mousemove的時候不觸發點擊事件,觸發scroolarea滑動,press后直接release為觸發按鈕點擊事件uj5u.com熱心網友回復:
Qt 有專門處理觸摸的,二樓正解轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/28985.html
標籤:Qt
