在hisi3531d環境下做開發,遇到了非常奇怪的現象,當滑鼠滾輪在qt程式上快速滾動的時候,程式直接不接受滑鼠事件了,包括滑鼠的左右按鈕,滾輪、移動等事件均無反應,最終檢視qws底層滑鼠模組**,找到解決方案!
下面是所需要修改的**,**位置在src/gui/embedded/qmousepc_qws.cpp
修改1 retries由原來的2加大一些,可自己測試
void qwspcmousehandlerprivate::readmousedata(int fd)
else if (retries < 10)
}
修改2 qwspcmousesubhandler
class qwspcmousesubhandler
void initresetbadness()
void addonetorestbadness()
int takewheel()
修改3 qwspcmousehandlerprivate::sendevent
bool qwspcmousehandlerprivate::sendevent(qwspcmousesubhandler& h)
handler->limittoscreen(newpos);
qdebug("qwspcmousehandlerprivate::sendevent true");
handler->mousechanged(newpos, h.buttonstate(), h.takewheel());
return true;
} else
if (h.buttonstate() & (qt::rightbutton|qt::midbutton))
return false;
}}
滑鼠滾輪滾動事件wheel
滑鼠的滾輪事件主要有兩種 deltay detail wheeldelta deltamode detail deltax,滑鼠滾輪左右擺動,本屬性是唯讀的。負值,向左 正值,向右。正負方向,跟系統的x座標保持一致。deltay,滑鼠滾輪上下滾動,唯讀。負值,向上 正值,向下。deltamode,屬...
C panel控制項實現滑鼠滾輪滾動拖動滾動條
實驗中panel名稱為pnl suggest 介面初始化時新增panel滑鼠滾動相應 this.pnl suggest.mousewheel new mouseeventhandler formsample mousewheel 滑鼠滾動相應函式 void formsample mousewheel...
滑鼠滾輪控制panel滾動條
在winform開發中,通過設定panel的autoscroll屬性來控制滾動條是否顯示,但顯示滾動條的時候,滑鼠的滾輪是無法控制panel裡面的滾動條的,只能控制form的滾動條,當我們需要控制panel的滾動條的時候,應該怎麼做呢?1 拖乙個panel到form裡面,修改name為panel1,...