bonjour;
je suis un peu débutant en qml et pyqt.
donc ma question est comment récupérer des données depuis une fonction python on utilisant qml(javascript) , dans l'exemple qui suit je veux afficher le text "grrrrrrrrrr" non pas "mettre a jour".
voici mon code python: main.py
Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 class MainApp(QObject): def __init__(self, context, parent=None): super(MainApp, self).__init__(parent) self.win = parent self.ctx = context @pyqtSlot() def alll(self): a = "grrrrrrrrrrrrrrr" self.ctx.setContextProperty("retour", a) if __name__ == "__main__": app = QApplication(sys.argv) engine = QQmlApplicationEngine() # Création d'un objet QQmlContext pour communiquer avec le code QML ctx = engine.rootContext() engine.load('main.qml') win = engine.rootObjects()[0] py_mainapp = MainApp(ctx,win) ctx.setContextProperty("py_MainApp", py_mainapp) win.show() sys.exit(app.exec())
et voici mon code : main.qml
l'erreur que j'ai eu est qu'il ne connais pas py_MainApp.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Text { id: name text: "Mettre a jour ..." function findGreetings() { text = "kkkkk" py_MainApp.alll() alert1 = retour console.log(alert1) } Component.onCompleted: findGreetings() }
a savoir aussi quand j’utilise le onClicked et j'appelle le py_MainApp tous marche bien .
merci d'avance.
Partager