coagul : Python et QT (tutoriel 8)
Créé par Jean-Emmanuel Bissey le 08/11/2025 PubliéRubrique : Programmation
Le : jeudi 13 avril 2006
Par : jibux
Visites : 2901
Dans le tutoriel précédent nous avons presque finalisé l’application décrite dans ce tutoriel. Mais pour respecter le cahier des charges, il nous faut gérer les révisions.
Éléments abordés dans ce document
Les dictionnaires
Les listes « avec pop() »
Les chaînes unicode « avec u’...’ »
Au travail
Dans Eric, on lance QT Designer en double cliquant sur le fichier mainform.ui
Dans QT Designer créer le slot QuitSlot() avec Edits/Slots...
Dans QT Designer affecter le slot QuitSlot() au signal clicked() du sender QuitPushButton avec Edits/Connections...
Enregistrer et quitter QT Designer
Dans Eric compiler mainform.ui (click droit, compile form)
Ajouter la fonction def QuitSlot(self) : dans fichier mainform_impl.py
def QuitSlot(self):
"Quitter le programme si les révisions sont terminées."
if self.timer.isActive(): self.timer.stop()
if self.revisions:
QMessageBox.information( self, u'Révision', u'Début des révisions')
self.revision=1
self.StartSlot()
else:
self.close()
Il ne reste plus qu’à ajouter le traitement des révisions à la fonction NouveauNombres().
def NouveauxNombres(self):
...
if self.revision:
if self.revisions:
exercice=self.revisions.pop()
self.op1=exercice['op1']
self.op2=exercice['op2']
self.resultat=exercice['resultat']
posTrou=exercice['posTrou']
self.operateur.setText(exercice['operateur'])
else:
if self.timer.isActive(): self.timer.stop()
QMessageBox.information( self, u'Révision',u'Révisions terminées')
return 0
...
self.revisions.append({'op1':self.op1, 'op2':self.op2,'resultat':self.resultat, 'operateur':self.operateur.text().ascii(),'posTrou':posTrou})
return 1
Voilà, l’application correspond désormais au cahier des charges. Certains pourraient s’interroger sur la présence des quatres boutons situés dans l’onglet "Choisir un exercice". Il s’agit de boutons qui permettraient de mettre à jour le fichier exercices.txt sans passer par un éditeur de texte. Si le coeur vous en dit, j’attends vos propositions pour les intégrer à ce programme.
A vous de bosser maintenant ;-)
Les fichiers sources de cette application
Historique des modifications
VersionDateCommentaire 0.109/04/2006Création par Jibux 0.214/04/2006Simplification unicode avec u’’ 0.326/11/2006Ajout d’un lien vers l’article suivant