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 :

Ensemble de boites de dialogues dans une même application


Sujet :

PyQt Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2013
    Messages : 28
    Par défaut Ensemble de boites de dialogues dans une même application
    Bonjour,

    Je suis sous windows 7 (64bits), je travaille en python3 avec PyQt4 et l'IDE Eric.

    Je dois développer une application en python qui doit être une succession de boites de dialogues.

    J'ai commencer par les programmer une par une. Mais maintenant il faut les assembler.

    En gros il y aura un sommaire ou l'utilisateur pourra choisir sa "mini" application à l’intérieur de la grande.

    C'est mon premier véritable projet GUI, est ce que quelqu'un aurait une idée de comment je pourrais m'y prendre ?

    Merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 197
    Par défaut
    Bonjour

    si j'ai bien compris, tu voudrais une application MDI avec un menu, et à chaque action lance un de tes dialog?

    Si c'est ça, regarde du côté de QMainWindow, et ses propriétés menuBar, à laquelle tu ajoutes tes actions (QAction)
    Chaque QAction tu défines une action (def) qui lancera ton dialog.
    Dans les exemples, il y'a une application mdi il me semble.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2013
    Messages : 28
    Par défaut
    C'est exactement ça !

    Bon, au premier abord je vois pas du tout ce que tu veux dire mais je vais travailler la dessus.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 197
    Par défaut
    un code minimal (attention suis sous python 2.7, à a adapter un peu peut être..)

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    # -*- coding: utf-8 -*-
    from PyQt4 import QtGui, QtCore
     
    class Fen(QtGui.QMainWindow):
      def __init__(self,parent=None):
        super(Fen,self).__init__(parent)
        self.createActions()
        self.createMenu()
     
      def createActions(self):
        self.actA = QtGui.QAction(u"A",self, triggered=self.lanceDialA)
        self.actB = QtGui.QAction(u"B",self, triggered=self.lanceDialB)
     
      def createMenu(self):
        menucom = self.menuBar().addMenu("&Commandes")    
        self.menuBar().addMenu("&A propos")
        menucom.addAction(self.actA)
        menucom.addAction(self.actB)
     
      def lanceDialA(self):
        dialA = QtGui.QDialog(self)
        dialA.setWindowTitle(u"Fenêtre A")
        dialA.exec_()
     
      def lanceDialB(self):
        dialB = QtGui.QDialog(self)
        dialB.setWindowTitle(u"Fenêtre B")
        dialB.exec_()
     
    if __name__=='__main__':
      import sys
      app=QtGui.QApplication(sys.argv)
      fen = Fen()
      fen.showMaximized()
      sys.exit(app.exec_())

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2013
    Messages : 28
    Par défaut
    Merci pour ton code !

    J'ai réussi à l'adapter, ça marche super !

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 24/04/2015, 08h28
  2. Réponses: 6
    Dernier message: 18/06/2014, 13h29
  3. Boite de dialogue dans une page jsp
    Par kariel dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 03/06/2014, 11h48
  4. Réponses: 5
    Dernier message: 11/08/2010, 13h14

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