Problème bizarre de fermeture de fenêtre
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
Code:
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_() |
La fenêtre s'ouvre
Dans la fenêtre (une QDialog) dans l'_init_ j'ai
Code:
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() |
et dans self.Quitter j'ai
Code:
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() |
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.
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