Skip to Content

Python et QT (tutoriel 8)

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 ;-)

    Zip - 45.7 ko
    Les fichiers sources de cette application

    Pour la suite, c’est ici

    Historique des modifications

    Version Date Commentaire
    0.1 09/04/2006 Création par Jibux
    0.2 14/04/2006 Simplification unicode avec u’’
    0.3 26/11/2006 Ajout d’un lien vers l’article suivant
  • Fichier attachéTaille
    Les fichiers sources de cette application45.79 Ko

    Commentaires

    > Python et QT (tutoriel 8)

    Et encore merci pour cette relecture !

    > Python et QT (tutoriel 8)

    Encore RAS !