Qt 開啟鼠標跟蹤,自動激活mouseMoveEvent的問題


最近在Qt上實現一個功能,鼠標在圖片上移動,觸發mouseMoveEvent事件,進而生成一個小的半透明窗口,放大顯示以鼠標為中心的一個區域的圖像並隨鼠標移動。但是,必須鼠標摁下,才觸發mouseMoveEvent消息。

看了網上許多帖子,都說設置QWidget、QMainWindow的CentralWidget的屬性即可,

setMouseTracking(true);

但是,我設置后發現依舊不行。

我的窗口布局是:QMainWinow→ QSplitter→ QScrollArea→ QLabel,最終觸發QLabel的mouseMoveEvent事件。

經過發現測試,發現由上而下的依次開啟 setMouseTracking(true);屬性,即可實現鼠標移動,觸發mouseMoveMent。

最重要的是要開啟QMainWindow的setMouseTracking(true)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM