PyQt: jak obsługiwać zdarzenie bez dziedziczenia
Jak mogę obsłużyć zdarzenie myszy bez dziedziczenia, opis użycia można opisać następująco:
Przypuśćmy, że chcę, aby QLabel sprzeciwiał się handluMouseMoveEvent
, sposób w tutorialu często idzie w sposób, w jaki tworzymy nową klasę odziedziczoną z QLabel. Ale czy mogę użyć wyrażenia lambda do obsługi zdarzenia bez dziedziczenia, tak jak
ql = QLabel()
ql.mouseMoveEvent = lambda e : print e.x(), e.y()
Nie muszę więc pisać całej klasy i po prostu użyć prostego wyrażenia lambda, aby zaimplementować jakieś proste zdarzenie.