Bonjour,
J'ai besoin d'un petit coup de main dans la gestion d'une application avec plusieurs fenêtres.
J'ai créé plusieurs fenêtres de type QWidget. À partir de la première il est possible d'accéder aux autres avec des boutons.
Je peux ouvrir autant de fenêtres que je souhaite, elles ne sont pas modales. (Je retrouve là l'utilisation de Toplevel en Tkinter)
Pour cela je me suis aidée de ces deux sujets :
https://www.developpez.net/forums/d1...xieme-fenetre/
https://www.developpez.net/forums/d6...es-meme-temps/
Et voici mon code :
J'aimerais juste que la fermeture de la fenêtre "accueil", entraine la fermeture de toutes les autres fenêtres potentiellement ouvertes.
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
37
38
39
40
41 from PyQt5.QtWidgets import * from PyQt5.QtCore import * import os,sys #improtation des GUI from accueil import * from conversion_visco import * class FenetreAccueil(QWidget,Ui_Aide_aux_calculs_et_conversions): def __init__(self,parent=None): QWidget.__init__(self) self.setupUi(parent) #actions liées aux boutons self.button_conv_visco.clicked.connect(self.visco) def visco(self): """lance la fenetre associee a la conversion de viscosite""" self.viscowindows = FenetreConversionVisco(self) self.viscowindows.setWindowFlags(Qt.SubWindow) self.viscowindows.show() class FenetreConversionVisco(QWidget): def __init__(self,parent=None): super(FenetreConversionVisco,self).__init__(parent) self.ui=Ui_conv_visco() self.ui.setupUi(self) if __name__ == "__main__": a=QApplication(sys.argv) f=QWidget() c=FenetreAccueil(f) f.show() r=a.exec_() sys.exit(app.exec_())
Merci d'avance pour votre aide.
Ps: je suis preneuse de tout autre commentaire sur mon code pour m'améliorer.
Partager