Bonjour,
En formation, on apprends python. J'ai donc voulu faire un morpion avec une IHM sur QT (pyqt).
- Le morpion fonctionne parfaitement en CMD (2 joueurs).
- J'ai fais l'IHM et maintenant j'essaye de la connecter au script python.
C'est là que les problèmes commencent :
QML -> J'ai 2 pages : [Sélection nombre joueur; main.qml] et [grille de jeu; plateau.qml]
Sur la page de selection lorsque l'on click sur le bouton [2 joueurs]; python réceptionne le signal QML et lance le script avec 2 joueurs.
Je ne sais pas si c'est la bonne maniere de faire mais dans le fichier context je prend le signal et je crée l'instance du Morpion avec puis je lance le jeu :
Python
Le script se lance bien et je peux finir de jouer a la console.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 @pyqtSlot(int) def nbrJoueurQML( self, nbrJoueurQML): # **** startGame **** # simplement lancer l'invocation avec le retour nbrjoueurQML myGame = Morpion(nbrJoueurQML) myGame.gestionJoueurs()
Le problème c'est que dès que je demande a QML de changer de fenêtre en même temps qu'il lance le script, cela ne fonctionne plus comme il faut.
Je suis bloqué dessus depuis plus d'une semaine et je ne comprend pas pourquoi cela fait ça.Le click sur le bouton lance le script du morpion et la fenêtre QML freeze "ne répond plus" tant que la partie n'est pas finis en console;
dès que la partie en console est terminé, le changement de fenêtre s'effectue.
Surtout que j'ai mis l'ordre de changement de fenêtre avant d'envoyer un signal a python donc en théorie il devrait au moins changer de fenêtre avant de lancer le script ?
Voici l'action du bouton/mouse_area dans QT :
J'ai essayer de charger une deuxieme page -> échec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 onClicked: { pageLoader.visible = true // Formateur //pageLoader.source = "plateau.qml" // INI Context.nbrJoueurQML(2) // doActionInPython
J'ai essayer de n'avoir qu'une page en switchant l'état des éléments visible/invisible -> échec
Si j’enlève le signal python, le changement de fenêtre se fait sans aucun problème.
Une idée d'où ça peut venir ou d'où trouver de l'aide ?
Même si ce n'est pas le but ici, ça doit bien être possible de gérer une ihm pour par exemple visionner quelque chose pendant qu'on utilise le script dans la console, non?
Merci![]()
Partager