Bonjour à tous,

J'ai récemment commencé une IHM en pyQt et je rencontre quelques problèmes... J'ai vu un sujet répondant à ma question mais la réponse envoyait vers un lien mort.

Alors voilà mon problème: avec QtDesigner j'ai créé une QMainWindow 'MainWindow' contenant un bouton 'Bouton' et un QWidget 'EmplacementFormulaire', et dans un autre fichier .ui j'ai créé un QWidget 'Formulaire'.

J'ai utilisé pyuic5 pour transformer ces deux fichiers en classes python (MainWindow.py et Formulaire.py) dont les fonctions de génération sont setupUi() par défaut. Mon but est simple: faire en sorte qu'en appuyant sur le bouton de la MainWindow, le formulaire apparaisse dans le widget EmplacementFormulaire.

Voici le code que j'ai jusque là:
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
 
import MainWindow
import Formulaire
from PyQt5 import QtWidgets
 
def montrer_formulaire(fenetre):
    formulaire = Formulaire.Ui_Formulaire()
    formulaire.setupUi(fenetre.EmplacementFormulaire)
    fenetre.EmplacementFormulaire.show()
 
def main():
    app = QtWidgets.QApplication(sys.argv)
 
    fenetre = Mainwindow.Ui_MainWindow()
    root = QtWidgets.QMainwindow()
    fenetre.setupUi(root)
    fenetre.Bouton.clicked.connect(lambda: montrer_formulaire(fenetre))
 
    root.show()
    sys.exit(app.exec_())
 
if _name_ == '_main__':
    main()
La fenêtre principale s'affiche correctement, on entre bien dans la fonction montrer_formulaire en appuyant sur le bouton, mais le formulaire ne s'affiche pas...

Une idée de ce qui cloche dans mon code?

Merci d'avance pour votre aide,
Mathilde