Qt/PyQt 重寫mouseMoveEvent事件 實時監測鼠標移動

bool mouseTracking 屬性是窗口部件跟蹤鼠標監控。
如果重寫了mouseMoveEvent事件就需要使用setMouseTracking(true)才能實時監測鼠標,如果不加這句,就會出現只能獲取mousePress的移動座標。

上面這個在QWidget中是使用沒有問題,但是在QMainWindow中使用就依然無法捕獲,解決方案就是:

self.setCentralWidget(self.main_widget)
self.main_widget.setMouseTracking(True)
self.setMouseTracking(True)

先把QMainWindow的CentralWidget使用setMouseTracking(true)開啓移動監控,然後再把QMainWindow的setMouseTracking(true)開啓監控。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章