在没有鼠标按键的情况下,会接收不到 mouseMoveEvent,相当困扰。OD 跟了一小时,毫无进展
省略掉过程
结果当然是解决了
class EventDispatcher(QObject):
def eventFilter(self, Receiver, Event):
type = Event.type()
if type == QEvent.MouseMove and isinstance(Receiver, QWidget):
f = None
try:
f = Receiver.mouseMoveEvent
except AttributeError:
pass
if callable(f):
f(Event)
return False
return super().eventFilter(Receiver, Event)
Dispatcher = EventDispatcher()
app = QApplication(sys.argv)
app.installEventFilter(Dispatcher)
搞定……真是好 SB 的 BUG(?)