Exercice 11
Créez un programme Python en utilisant la bibliothèque PyQt5, sans recourir à Qt Designer. Le programme doit ouvrir une fenêtre invitant l'utilisateur à saisir un entier N. En cliquant sur le bouton "Valider", le programme affiche la table de multiplication de l'entier saisi sur un QLabel nommé "lbl_result". Voici un exemple de la fenêtre souhaitée:
Solution
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 |
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton import sys # Création de la classe class QLabelExample(QWidget): def __init__(self): super().__init__() # action du bouton de commande def action(self): N = int(self.lineEdit_N.text()) s = "" for i in range(1, 10): result = i*N line = str(i) + ' x ' + str(N) + ' = ' + str(result) + "\n" s = s + line self.lbl_result.setText("Table de multiplication de " + str(N) + "\n"+ s) # méthode pour construire les composants de la fenêtre def initUI(self): self.setWindowTitle("Table de multiplication") self.setGeometry(100, 100, 550, 350) # création du QLabel self.lbl = QLabel(self) self.lbl.setText("Enter value of N : ") self.lbl.setStyleSheet("font-size: 18px;") self.lbl.setGeometry(20, 20, 150, 30) # Création du champ de saisie self.lineEdit_N = QLineEdit(self) self.lineEdit_N.setStyleSheet("font-size: 18px;") self.lineEdit_N.setGeometry(20, 50, 200, 30) # Création du bouton d'action self.btn_action = QPushButton(self) self.btn_action.setText("Validate") self.btn_action.setGeometry(20, 100, 200, 30 ) self.btn_action.clicked.connect(self.action) # Création du label qui affiche le résultat self.lbl_result = QLabel(self) self.lbl_result.setText("Result...") self.lbl_result.setStyleSheet("font-size: 18px;") self.lbl_result.setGeometry(300, 20, 250, 300) # Exécution du code if __name__ == '__main__': app = QApplication([]) # création de la fenêtre principale via une instanciation win = QLabelExample() # charger les composants de la fenêtre win.initUI() win.show() sys.exit(app.exec_()) |
Younes Derfoufi
CRMEF OUJDA
1 thought on “Solution Exercice 11 : Table de multiplication réalisée sur une fenêtre PyQt5 Python”