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 :

QMessageBox settext invisible


Sujet :

PyQt Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Demandeur d'emploi
    Inscrit en
    Octobre 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Demandeur d'emploi

    Informations forums :
    Inscription : Octobre 2018
    Messages : 25
    Points : 24
    Points
    24
    Par défaut QMessageBox settext invisible
    Bonjour j'ai réalisé un fichier python pyq5 de 1638 lignes
    et j'utilise 3 messages avec fermeture automatique de cette fenêtre.
    voici une partie du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    def Messa(self):
            dialog = QMessageBox(Form)
            dialog.setWindowTitle("Copier")
            dialog.setText("memoire copier")
            dialog.setIcon(QMessageBox.Information)
            dialog.show()
            for i in range(3):
                sleep(1)
                if i == 2:
                    dialog.close()
    et voici le résultat :
    Nom : cc.jpg
Affichages : 102
Taille : 11,5 Ko
    le settext, les boutons et seticon n'apparaisse pas sur les 3 qmessagebox.
    Pourquoi?
    pouvez vous m'aider?
    Merci d'avance

  2. #2
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 226
    Points : 4 710
    Points
    4 710
    Par défaut
    bonjour

    Ton sleep() est anti-GUI
    Avec une interface graphique on ne bloque jamais notre process !! ici, tu bloques volontairement l'interface graphique 3 secondes.

    En exemple, parfois on utilise un timeur
    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
    #!/usr/bin/env python
    from PyQt5 import QtCore, QtGui, QtWidgets
    import sys
     
     
    class Window(QtWidgets.QMainWindow):
     
        def __init__(self):
            super().__init__()
            self.UiComponents()
            self.show()
     
        def UiComponents(self):
            btn = QtWidgets.QPushButton("message...", self)
            btn.clicked.connect(self.Message)
     
        def Message(self):
            dialog = QtWidgets.QMessageBox(self)
            dialog.setWindowTitle("Copier")
            dialog.setText("memoire copier")
            dialog.setIcon(QtWidgets.QMessageBox.Information)
            dialog.show()
            QtCore.QTimer.singleShot(3000, lambda : dialog.done(0))
     
     
    if __name__ == "__main__":
        App = QtWidgets.QApplication(sys.argv)
        window = Window()
        sys.exit(App.exec())

    ----------------
    NOTE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            for i in range(3):
                sleep(1)
                if i == 2:
                    dialog.close()
    si cela fonctionnait, Pourquoi faire compliqué ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            for i in range(3):
                sleep(1)
            dialog.close()

  3. #3
    Membre à l'essai
    Homme Profil pro
    Demandeur d'emploi
    Inscrit en
    Octobre 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Demandeur d'emploi

    Informations forums :
    Inscription : Octobre 2018
    Messages : 25
    Points : 24
    Points
    24
    Par défaut QMessageBox settext invisible
    Merci beaucoup pour ta réponse, c'est exactement ce que je cherchait.

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

Discussions similaires

  1. Rendre une page d'un TPageControl invisible
    Par DevelOpeR13 dans le forum Composants VCL
    Réponses: 5
    Dernier message: 10/06/2003, 12h26
  2. comment rendre invisible une FormStyle->fsMDIchild
    Par caluloa dans le forum C++Builder
    Réponses: 5
    Dernier message: 16/05/2003, 15h21
  3. Mettre un popup menu invisible ??
    Par Alberto dans le forum Composants VCL
    Réponses: 2
    Dernier message: 20/12/2002, 10h02
  4. Rendre le curseur invisible sur une fenêtre donnée
    Par Meuhmeuh dans le forum C++Builder
    Réponses: 3
    Dernier message: 22/11/2002, 13h25
  5. Réponses: 8
    Dernier message: 05/06/2002, 12h55

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