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 :

Fonction : Quitter l'interface graphique


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
    Juin 2016
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 31
    Par défaut Fonction : Quitter l'interface graphique
    Bonjour,

    Je suis un débutant je m'entraine donc en appliquant des petits tutoriels afin de concevoir des interfaces graphiques simples.

    J'ai rencontré un petit souci : je n'arrive pas à savoir quel fonction utiliser afin de fermer l'interface quand je clique sur ' Close ' ; j'ai rajouté une image pour bien expliquer

    j'ai essayé : qApp.quit / QApplication.quit .. rien ne marche

    Nom : pb.PNG
Affichages : 5938
Taille : 399,8 Ko

    Bien cordialement,

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 693
    Par défaut
    Salut,

    Citation Envoyé par Qtdigitex Voir le message
    j'ai essayé : qApp.quit / QApplication.quit .. rien ne marche
    Vous avez stocké l'instance de votre QApplication dans la variable "app" et non "qApp"... QApplication est une classe: çà ne marchera pas non plus et dans le code que vous montrez vous surchargez une méthode "close"...
    Simplifiez:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    from PyQt5.QtWidgets import QApplication, QPushButton
     
    app = QApplication([])
    btn = QPushButton('Quit')
     
    btn.clicked.connect(QApplication.instance().quit)
     
    btn.show()
    app.exec_()
    Vous pouvez remplacer QApplication.instance().quit par app.quit ou par btn.close.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 31
    Par défaut
    Merci pour votre réponse,

    J'ai fait ce que vous avez expliqué , mais toujours le même résultat : la fenêtre ne se ferme pas

    Nom : pb.PNG
Affichages : 5070
Taille : 661,7 Ko

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 693
    Par défaut
    Salut,

    Ben simplifiez votre code à juste ce qu'il faut pour reproduire ce que vous constatez et vous le postez en utilisant la balise CODE.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 31
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,

    Ben simplifiez votre code à juste ce qu'il faut pour reproduire ce que vous constatez et vous le postez en utilisant la balise CODE.

    - W
    Je vous prie d'être patient avec moi mais ne vois pas comment cela résout le problème , mais bon voilà le code :

    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
    import sys
    from PyQt4.QtGui import *
    from PyQt4.QtCore import *
    from visio import *
     
    class Imageview(QMainWindow,Ui_vision):
        def __init__(self,parent=None):
            super().__init__()
            self.setupUi(self)
            self.fichier=QPixmap()
            self.label.setMaximumSize(QSize(1000,600))
            self.label.setScaledContents(True)
            self.connectActions()
            self.connect(self.pushButton_2 ,SIGNAL("clicked()") , self.openImage)
            self.pushButton.clicked.connect(app.quit)
     
        def connectActions(self):
            self.actionOpen.triggered.connect(self.openImage)
     
     
        def openImage(self):
            self.fileName = QFileDialog.getOpenFileName(None,"Open Image")
            self.fichier.load(self.fileName)
            self.label.setPixmap(self.fichier)
     
    if __name__== '__main__':
        app = QApplication(sys.argv)
        myapp = Imageview()
        myapp.show()
        app.exec_()
    Je tiens à préciser , bien que ça se voit , que la mise en page a été faite par Qt Designer.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 31
    Par défaut
    J'ai essayé le code provenant de ce tutoriel très simple qui vise juste à coder un button qui quitte l'interface . et ça n'a pas marché pour moi , il ne se passe rien quand j'appuie ...

    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
    from PyQt4 import QtGui, QtCore
    import sys
    if __name__=='__main__':
        app = QtGui.QApplication(sys.argv)
        window = QtGui.QWidget()
        window.setWindowTitle("Signaux")
        button = QtGui.QPushButton("Appuyez", window)
     
        button.resize(200, 40)
        button.connect(button, QtCore.SIGNAL("clicked()"),\
            app, QtCore.SLOT("quit()"))
     
        window.show()
     
        app.exec_()

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 693
    Par défaut
    Citation Envoyé par Qtdigitex Voir le message
    Je vous prie d'être patient avec moi mais ne vois pas comment cela résout le problème , mais bon voilà le code :
    Cà permet de recopier le code chez moi et de reproduire le problème: çà ne résout rien mais çà permet de travailler dessus.
    Et là le code que vous montrez, désolé mais pour qu'il tourne, je suis obligé de supprimer pas mal de choses et d'en rajouter:
    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
    import sys
    from PyQt4.QtGui import *
    from PyQt4.QtCore import *
    # from visio import *
     
    class Imageview(QMainWindow):#,Ui_vision):
        def __init__(self,parent=None):
            super().__init__()
    #         self.setupUi(self)
            self.fichier=QPixmap()
    #         self.label.setMaximumSize(QSize(1000,600))
    #         self.label.setScaledContents(True)
    #         self.connectActions()
    #         self.connect(self.pushButton_2 ,SIGNAL("clicked()") , self.openImage)
            self.pushButton = QPushButton('Quit', self)
            self.pushButton.clicked.connect(app.quit)
     
        def connectActions(self):
            self.actionOpen.triggered.connect(self.openImage)
     
     
        def openImage(self):
            self.fileName = QFileDialog.getOpenFileName(None,"Open Image")
            self.fichier.load(self.fileName)
            self.label.setPixmap(self.fichier)
     
    if __name__== '__main__':
        app = QApplication(sys.argv)
        myapp = Imageview()
        myapp.show()
        app.exec_()
    Evidemment, plus de problème.
    Et il n'y a que vous qui puissiez construire un exemple "minimal" qui puisse reproduire ce que vous constatez.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/09/2013, 17h45
  2. Interface graphique MATLAB et la fonction XLSREAD
    Par Amine_lamo dans le forum Interfaces Graphiques
    Réponses: 5
    Dernier message: 13/11/2010, 13h51
  3. Réponses: 0
    Dernier message: 15/06/2010, 16h36
  4. Interface graphique en fonction de role utilisateur
    Par LibidoPostToxico dans le forum VB.NET
    Réponses: 8
    Dernier message: 01/06/2010, 13h55
  5. Passage de paramètres entre une fonction et une interface graphique
    Par ninja_3 dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 29/05/2007, 11h37

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