import sys<br>from PyQt5.QtWidgets import QWidget, QApplication<br>from PyQt5.QtCore import QObject, pyqtSlot<br><br>class Test(QObject):<br>    @pyqtSlot(QWidget, QWidget)<br>    def test(self, previous_widget: QWidget, current_widget: QWidget):<br>        pass<br> <br>if __name__ == '__main__':<br>    app = QApplication(sys.argv)<br>    test = Test()<br>    app.focusChanged.connect(test.test)<br>    sys.exit(app.exec_())<div><br></div><div>Which raises a couple other questions:</div><div>- does it matter of we don't use pyqtSlot decorator (if not,  why not?) </div><div>- should we be using Google an event filter instead, or is it equivalent (just want to catch keyboard focus changes) </div><div><br></div><div>Oliver</div>