Python&Qt5 2021 2022
Python&Qt5 2021 2022
File New Widget, Renommer les objets, puis enregistrer le fichier sous le nom: interface.ui dans un dossier "QT"
Dans Thonny ecrire un script Python projet1.py et l’enregistrer dans le même dossier "QT" permettant de charger
l’interface graphique .
Prof: N.DHIFALLAH Page 1 / 2 Année scolaire 2021-2022
Année 2021-2022-BAC Maths, Sciences et Techniques Matière: Informatique
③ Utilisatation des widgets dans un script Python :
fonction :
Récupérer le texte d’un « Line Edit » dans une variable : ch=fen.champ_saisie.text()
Slots :
Modifier le texte d’un « Line Edit » : fen.champ_saisie.setText(' Un texte ')
Effacer le contenu d’un « Line Edit » : fen.champ_saisie.clear()
Ajouter à la fin du contenu du champ de saisie : fen.champ_saisie.insert ('plus')
Signaux :
Un signal est émis chaque fois que le texte est édité, et le traitement 1 est exécuté
def traitement1() :
………
fen.champ_saisie.textEdited.connect(traitement1)
Remarque : Il y a aussi textChanged :Detection de changement de champ de saisie par edition ou par affectation de variable.
Un signal est émis chaque fois que la touche « Entrée » est enfoncée dans le champ de saisie, et le traitement 2 est exécuté.
def traitement2() :
………
fen.champ_saisie.returnPressed.connect(traitement2)
https://doc.qt.io/qtforpython-5/PySide2/QtWidgets/QLineEdit.html
Signaux : ● Un signal est émis chaque fois que le bouton est appuyé, et le traitement 3 est exécuté
def traitement3() :
………
fen.bouton.clicked.connect(traitement3)
Remarque 1: Il y a aussi les signaux pressed() et released()
Remarque 2: On peut fermer l’application en utilisant : fen.bouton.clicked.connect(fen.close)
On peut effacer le contenu du champ de saisie: fen.bouton.clicked.connect(fen.champ_saisie.clear)
Voir plus: https://doc.qt.io/qtforpython-5/PySide2/QtWidgets/QPushButton.html
Exemple de script Python : (Ecrire un texte dans le champ de saisie puis cliquer sur le bouton pour le reproduire dans le label titre)
# importations à faire pour la réalisation d'une interface graphique
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QApplication
def traitement1():
x=fen.champ_saisie.text()
fen.titre.setText(x)