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
| # -*- coding: utf-8 -*-
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from fenetre1_ui import Ui_MainWindow # importation du fichier fenetre1_ui.py issu de QtDesigner pour une fenêtre QMainWindow
from fenetre2_ui import Ui_Form # importation du fichier fenetre2_ui.py issu de QtDesigner pour une fenêtre QWidget
class Fenetre2(QtWidgets.QWidget):
def __init__(self, parent=None):
super().__init__(parent) # appel de l'ancêtre
self.ui = Ui_Form()
self.ui.setupUi(self)
# les objets créés par QtDesigner seront accessibles dans la classe par self.ui.nomdelobjet
class Fenetre1(QtWidgets.QMainWindow):
def __init__(self, parent=None):
super().__init__(parent) # appel de l'ancêtre
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
# les objets créés par QtDesigner seront accessibles par self.ui.nomdelobjet
# créer le lien pour connecter le bouton à la méthode "montrerformulaire"
def montreformulaire(self):
"""lancé par le bouton pour afficher le formulaire
"""
formulaire = Fenetre2(self)
# possibilité de créer un lien (connect) pour que la fenêtre1 puisse recevoir des infos de la fenêtre2
# possibilité de créer un lien (connect) pour que la fenêtre1 soit informée de la fermeture de la fenêtre 2
# possibilité de dire si la fenêtre2 doit être modale ou non
formulaire.show()
if __name__ == "__main__":
# initialisation de la bibliothèque graphique
app = QtWidgets.QApplication(sys.argv)
# lancement de la fenêtre principale
fenetre = Fenetre1()
fenetre.show()
# boucle de traitement des évènements
sys.exit(app.exec_()) |
Partager