Bonjour, j'ai un problème bizarre mais c'est sans doute moi.
J'ouvre de ma fenêtre principale une sous fenêtre par
La fenêtre s'ouvre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 # Ouverture de la fenêtre de téléchargement avec la liste des fichiers window_telechargement = fenTelechargement(listeFichiers) # Pour récupérer les infos de téléchargement window_telechargement.signal_fermeturefenTelechargement.connect(self.RetourTelechargement) # Affichage de la fenêtre window_telechargement.exec_()
Dans la fenêtre (une QDialog) dans l'_init_ j'ai
et dans self.Quitter j'ai
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 def __init__(self, Message, parent=None): super(fenTelechargement, self).__init__(parent) self.setupUi(self) # Récup de la liste des fichiers à télécharger self.listeFichiers = Message #*Init des connect boutons self.initControles() #*Lancement du téléchargement self.telechargerFichiers() #*On ferme la fenêtre self.Quitter()
J'ai un bouton dans cette fenêtre et lorsque je clique dessus ça lance Quitter() et la fenêtre se ferme mais je voudrais que le traitement self.telechargerFichiers() s'effectue (ce qu'il fait très bien) et que la fenêtre se ferme seule.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 def Quitter(self): # On emet le signal "signal_fermeturefenTelechargement()" avec la liste des résultats de téléchargement des fichiers self.signal_fermeturefenTelechargement.emit(self.resultatsTelechargements) # fermer la fenêtre self.close()
Il semble que la fenêtre principale reçoive bien le signal signal_fermeturefenTelechargement lorsque l'on arrive à la fin de l'_init_ et j'ai vérifié ça lance bien Quitter() envoie bien le signal_fermeturefenTelechargement mais arrivé sur la ligne de self.close() rien ne se passe.
Ensuite je clique sur le bouton de fermeture qui exécute la même procédure de fermeture (Quitter()) et la ça envoie a nouveau le signal signal_fermeturefenTelechargement et cette fois ci ça ferme.
Pourquoi l'exécution de la procédure de sortie Quitter() ne fonctionne pas totalement lorsqu'elle est lancée de l'init alors que ça roule à partir du bouton.
C'est l'init le problème ? je ne peut pas fermer à partir du moment ou il n'est pas terminé ? c'est compréhensible mais alors comment lancer une procédure automatique à l'ouverture de la fenêtre et qu'elle se ferme ensuite sans intervention humaine ?
Je suis preneur de toute info surtout d'ailleurs pour ma propre éducation car le je ne trouve pas comment contourner le problème.
Merci
Partager