Bonjour à tous,
Je suis en train de (re) développer une application de gestion d'évènements en PYTHON et j'utilise PyQt pour cela. Je précise que je suis tout nouveau en programmation Python et qu'historiquement je développais en VBA. J'ai donc créé toutes les fenêtres dont je vais avoir l'usage ultérieurement à l'aide QtDesigner.
A partir de la fenêtre de création d'évènement, j'ai la possibilité d'interroger la base de données (Mysql) pour trouver un partenaire organisateur. De cette fenêtre, je peux soit créer un nouveau partenaire, soit modifier un partenaire modifié. Ce que je ne parviens pas à réaliser, c'est :
- en fermant la fenêtre de création ou de modification d'un partenaire, revenir sur la fenêtre principale
- rouvrir la fenêtre principale actualisée.

Voici le bout de 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
class Creer_disputes(QWidget, Ui_creation_disputes):
    def __init__(self, parent=None):
        super(Creer_disputes, self).__init__(parent)
        self.setupUi(self)
        self.comboBox.addItems(self.liste_departements())
        self.cancel.clicked.connect(self.quitter)
        self.creer_praefatio.clicked.connect(self.crea_praefatio)
        self.creer_part.clicked.connect(self.crea_partenaire)
        self.comboBox.currentTextChanged.connect(self.remplir_partenaires)
        self.comboBox_2.currentTextChanged.connect(self.informations_partenaires)
        self.modif_partenaire.clicked.connect(self.modifier_partenaire)
 
        self.modif_partenaire.setHidden(True)
        self.show()
La fonction pour ouvrir la fenêtre de création d'intervenant (fonction intégrée dans la classe Creer_disputes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
    def crea_partenaire(self):
        self.x = Creer_partenaire()
        self.w = cree_part()
        self.w.setupUi(self.x)
        self.x.show()
        self.comboBox.update()
Et voici le code de la Classe Créer_partenaire qui se trouve dans un autre module :
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
class Creer_partenaire(QWidget, Ui_partenaire):
    def __init__(self, parent = None):
        super(Creer_partenaire, self).__init__(parent)
        self.setupUi(self)
        a = 1
        liste = []
        liste.append('départements')
        while a < 97:
            liste.append(str(a))
            a = a + 1
        self.comboBox.addItems(liste)
        self.cancel.clicked.connect(self.quitter)
        self.save.clicked.connect(self.enregistrer_partenaire)
        self.show()
 
    def quitter(self):
        self.nom_partenaire.clear()
        self.correspondant.clear()
        self.tel_correspondant.clear()
        self.mail_correspondant.clear()
        self.adresse_partenaire.clear()
        self.complement_adresse.clear()
        self.code_postal.clear()
        self.close()
 
    def enregistrer_partenaire(self):
        id_partenaire = self.id.text()
        nom = self.nom_partenaire.text()
        correspondant = self.correspondant.text()
        tel = self.tel_correspondant.text()
        mel= self.mail_correspondant.text()
        adresse = self.adresse_partenaire.text()
        complement = self.complement_adresse.text()
        cp = self.code_postal.text()
        dep = self.comboBox.currentText()
        ville = self.ville.text()
        if dep == ('départements'):
            QtWidgets.QMessageBox.information(self, "Département non choisi", "Vous devez choisir un département !",
                                              QtWidgets.QMessageBox.Ok)
            return
        elif self.cp_dep(cp, dep) == False :
            return
        if id_partenaire == '':
            existe = connect_db.recherche_partenaire(nom, dep)
            if existe != {}:
                QtWidgets.QMessageBox.information(self, "Attention", "Ce partenaire existe déjà !",
                                                  QtWidgets.QMessageBox.Ok)
            else :
                reponse = QtWidgets.QMessageBox.question(self, "Enregistrement", "Voulez vous enregistrer ce nouveau "
                                                                                 "partenaire ?",
                                                         QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No)
                if reponse == QtWidgets.QMessageBox.Yes:
                    connect_db.cree_partenaire(nom, correspondant, tel, mel, adresse, complement, cp, dep, ville)
                    QtWidgets.QMessageBox.information(self, "Attention", "Partenaire enregistré !",
                                                      QtWidgets.QMessageBox.Ok)
        else:
            reponse = QtWidgets.QMessageBox.question(self, "Modification intervenant", "Voulez-vous modifier ce "
                                                                                       "partenaire ?",
                                                     QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No)
            if reponse == QtWidgets.QMessageBox.Yes:
                connect_db.maj_partenaire(nom, correspondant, tel, mel, adresse, complement, cp, dep,
                                          ville, id_partenaire)
                QtWidgets.QMessageBox.information(self, "Modifications", "Partenaire modifié !",
                                                  QtWidgets.QMessageBox.Ok)
                # self.quitter()
 
            else:
                return
Je débute donc en Python et malgré mes lectures ("Les fondamentaux de la programmation Python", et "create a GUI Application Python Qt"), plus toutes les recherches internet sur forums etc, je ne parviens pas à mes fins.
J'ai un peu de mal à comprendre le système d'héritage des classes.
Je vous remercie pour vos conseils.

Bien à vous.

Stéphane