import sys from PySide2.QtCore import Property, QObject, QUrl, Signal, Slot from PySide2.QtGui import QGuiApplication from PySide2.QtQml import QQmlApplicationEngine class Backend(QObject): aNamedSignal = Signal(name='anotherNameForSignal') @Slot() def aSlotToCallSignal(self): self.aNamedSignal.emit() if __name__ == '__main__': app = QGuiApplication(sys.argv) engine = QQmlApplicationEngine() backend = Backend() engine.rootContext().setContextProperty("backend", backend) engine.load(QUrl("main.qml")) if not engine.rootObjects(): sys.exit(-1) sys.exit(app.exec_())