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 :

PyQt5 + MainWindow + Window + .ui : Problème d'enchainement des fenêtres [QtGui]


Sujet :

PyQt Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Loisir / Plaisir
    Inscrit en
    Février 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Loisir / Plaisir

    Informations forums :
    Inscription : Février 2012
    Messages : 32
    Points : 27
    Points
    27
    Par défaut PyQt5 + MainWindow + Window + .ui : Problème d'enchainement des fenêtres
    Bonjour,

    le but : avoir une fenêtre principale et pouvoir ouvrir d'autres fenêtres à partir des menu de la fenêtre principale.

    précisions : 1 - je souhaite garder les fichiers graphique en format .ui
    2 - je souhaite pouvoir lancer en autonome toutes les fenêtres

    le fichier principale.py ouvre la fenêtre principale : UI/principale.ui
    le fichier ecrana.py ouvre la fenêtre ecrana : UI/ecrana.ui

    le menu fichier contient 3 options
    1 - Message_A ( pour l'affichage du message dans la console : OK (fonction "affichemessagea" du fichier ecrana.py)
    2 - Ecran_A
    3 - Quitter (pour la fonction quitter, elle se trouve dans le fichier principale.py : OK)

    j'ai un problème avec l'affichage de l'écran "EcranStatA" depuis la fenêtre principale : ? par contre en lançant en autonome le fichier "ecrana.py" tout se passe bien.


    j'ai mis en P.J. les 2 fichiers .py et tgz les .ui

    Pouvez-vous m’indiquer SVP, une piste pour solutionner mon problème, car malgré mes lectures, je n’ai pas trouvé comment faire. (je débute avec Python et Qt)

    D'avance merci aux contributeurs.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par plnew Voir le message
    le but : avoir une fenêtre principale et pouvoir ouvrir d'autres fenêtres à partir des menu de la fenêtre principale.
    Tu as deux façons possibles de coder cela
    • tu crées toutes les autres fenêtre en caché (hidden) et lors de l'appel du menu, tu caches la fenêtre affichée et tu affiches la fenêtre demandée
    • tu génères et affiches les fenêtre lors de l'appel


    Tu peux aussi utiliser un QStackedWidget() ou un QStackedLayout() qui sont justement dédiées à afficher une seule fenêtre parmis plusieurs.

    Citation Envoyé par plnew Voir le message
    j'ai un problème avec l'affichage de l'écran "EcranStatA" depuis la fenêtre principale : ? par contre en lançant en autonome le fichier "ecrana.py" tout se passe bien.
    Déjà tu as plus qu'un problème: tu as une erreur !!! Le minimum est de la lire et de la corriger.
    Dans ta méthode ecanA() tu appelles EcranStatA(self). Or l'objet EcranStatA() ne prend pas de paramètre dans son __init__().

    Ensuite, une fois corrigé, cela ne fonctionnera toujours pas car une fenêtre créée doit être affichée => show() ou open()
    Et enfin surtout il ne faut pas que la variable contenant l'objet soit perdue quand la fonction se termine => elle doit devenir instance de l'objet "Principale"
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    def ecranA(self):
    	self.xxx=EcranStatA()
    	self.xxx.show()

    Citation Envoyé par plnew Voir le message
    (je débute avec Python et Qt)
    Le mieux serait de commencer par le commencement... => http://www.developpez.com/telecharge.../47/Hello-Word
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Loisir / Plaisir
    Inscrit en
    Février 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Loisir / Plaisir

    Informations forums :
    Inscription : Février 2012
    Messages : 32
    Points : 27
    Points
    27
    Par défaut
    Merci Sve@r pour votre réponse avec des explications détaillés.

    cela fonctionne maintenant, je regarderai QStackedWidget() et QStackedLayout').


    c'est bien parce que je n'arrivais pas a résoudre l'erreur que je me suis tourné vers le forum pour obtenir de l'aide,


    c'est vrai que je commence peut être avec une marche trop haute mais pour moi c'est plus motivant d'essayé de créer un programme avec un but précis plutôt qu'un programme abstrait.

    Merci pour le lien, je vais lire les exemples que vous avez crées.
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de miniature des fenêtres dans la barre des tâches
    Par parazitenew dans le forum Windows 7
    Réponses: 0
    Dernier message: 17/03/2015, 00h16
  2. Windows 64 bits: Problème de redimensionnement des fenêtres
    Par Pascal Jankowski dans le forum Contribuez
    Réponses: 6
    Dernier message: 28/06/2013, 16h30
  3. Problème de gestion des fenêtres
    Par oligig dans le forum Windows 7
    Réponses: 6
    Dernier message: 23/02/2010, 13h23
  4. Problème d'enchainement de fenêtres
    Par _Numa_ dans le forum Tkinter
    Réponses: 2
    Dernier message: 13/04/2007, 11h46

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