IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PyQt Python Discussion :

Morpion en python avec IHM sur QT; problème changement écran + envoi signaux


Sujet :

PyQt Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Programmateur informatique Angular et Java en présentiel ou télétravail.
    Inscrit en
    Octobre 2004
    Messages
    58
    Détails du profil
    Informations professionnelles :
    Activité : Programmateur informatique Angular et Java en présentiel ou télétravail.

    Informations forums :
    Inscription : Octobre 2004
    Messages : 58
    Par défaut Morpion en python avec IHM sur QT; problème changement écran + envoi signaux
    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
    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 script se lance bien et je peux finir de jouer a la console.

    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.

    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.
    Je suis bloqué dessus depuis plus d'une semaine et je ne comprend pas pourquoi cela fait ça.
    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 :
    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 charger une deuxieme page -> échec
    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

  2. #2
    Membre averti
    Programmateur informatique Angular et Java en présentiel ou télétravail.
    Inscrit en
    Octobre 2004
    Messages
    58
    Détails du profil
    Informations professionnelles :
    Activité : Programmateur informatique Angular et Java en présentiel ou télétravail.

    Informations forums :
    Inscription : Octobre 2004
    Messages : 58
    Par défaut

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 164
    Par défaut
    Bonjour,

    Juste une idée : il faudrait peut être faire un QThread particulier pour la gestion, plutôt que tout laisser dans le thread principal ?.

Discussions similaires

  1. Problème sur python avec tkinter
    Par Le chaos dans le forum GUI
    Réponses: 4
    Dernier message: 24/05/2016, 20h47
  2. [Python 3.X] Problème sur python avec tkinter
    Par Le chaos dans le forum GUI
    Réponses: 3
    Dernier message: 19/05/2016, 20h51
  3. [Batch] Protéger dossier / Win 7 / avec raccourci sur le fond d'écran
    Par GADENSEB dans le forum Scripts/Batch
    Réponses: 24
    Dernier message: 28/08/2015, 22h50
  4. [Batch] Protéger dossier / XP / avec raccourci sur le fond d'écran
    Par GADENSEB dans le forum Scripts/Batch
    Réponses: 6
    Dernier message: 22/02/2015, 19h54
  5. Problème avec RDTSC sur K6-III
    Par le mage tophinus dans le forum x86 32-bits / 64-bits
    Réponses: 17
    Dernier message: 30/09/2003, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo