Python et QT (tutoriel 3)
Je vous avais parlé dans le 1er tutoriel d’une petite application en C++. C’est elle que je vais convertir en Python.
Il s’agit d’un logiciel qui permet à nos chères têtes blondes de réviser entre autres leurs tables de multiplications.
L’application utilise une boite de dialogue avec 2 onglets.
Le premier onglet permet de choisir, créer/modifier et enregistrer les différents exercices.

Pour un exercice, il faut définir :
le délai imparti pour répondre
le nombre de questions
la position de la question (entre 1 et 7, voir plus bas pour les explications sur ce codage)
l’opération
les valeurs min et max des 2 opérandes
la valeur maximum de la réponse
Toutes ces valeurs sont enregistrées dans un fichier texte qui est chargé au lancement du programme.
Les boutons situés en bas permettent d’ajouter, modifier et supprimer des lignes d’exercices.
Le gros bouton grisé en bas à droite représente une disquette. Ce bouton devient actif si on modifie une ligne d’exercice. Un clic dessus lancera la sauvegarde sur le disque de tous les exercices créés.
Le fait de cliquer sur une ligne copie toutes les valeurs dans les champ correspondants situés au dessus. Ce sont ces valeurs qui serviront à faire l’exercice.
Le second onglet permet de faire l’exercice.

Le programme tire au hasard les 2 opérandes et calcule la réponse en vérifiant que celle-ci ne dépasse pas la valeur maximum. Il choisit ensuite au hasard également la position du trou qu’il faudra compléter. Comme indiqué précédemment celle-ci est représentée par une valeur comprise entre 1 et 7. Il faut utiliser le codage binaire du nombre pour savoir ou le trou peut être.
1 (001) : c’est toujours le premier opérande qu’il faut trouver
2 (010) : c’est toujours le deuxième opérande qu’il faut trouver
4 (100) : c’est toujours le résultat
3,5,6 : c’est une des 2 possibilités
7 (111) : c’est une des trois possibilités
La barre de progression indique le temps restant pour répondre.
En cas de mauvaise réponse (ou de non réponse avant la limite de temps) le programme affiche la solution. En plus il mémorise l’opération pour la phase de révision.
Les 3 compteurs indiquent respectivement
le nombre de bonnes réponses
le nombre de mauvaises réponses
le nombre total de questions déjà posées
Le bouton grisé en bas à droite sur la copie d’écran permet de démarrer l’exercice.
Le bouton rouge permet de quitter le programme. Ou plus exactement permettra de le faire une fois les révisions terminées. En effet le premier appui grise le bouton et le programme entre dans la phase de révision. Il repose toutes les questions qui n’ont pas eu de réponse correcte. Le processus continue tant qu’il reste des questions. La question posée est tirée au hasard dans la liste. Si la réponse est correcte on la supprime. Lorsque toutes les questions ont été posées le bouton quitter redevient actif.
Je joins à cet article le fichier .UI qui contient l’interface complète de l’application.
Historique des modifications
| Version | Date | Commentaire |
|---|---|---|
| 0.1 | 28/02/2006 | Création par Jibux |
| 0.2 | 04/03/2006 | Correction de coquilles (merci [Nemo]) |
| 0.3 | 03/04/2006 | Ajout du lien vers le 1er tutoriel (merci Tony) |
| 0.4 | 26/11/2006 | Ajout d’un lien vers l’article suivant |
| Fichier attaché | Taille |
|---|---|
| revcalChoixExo.png | 19.5 Ko |
| revcalReviser.png | 18.35 Ko |
| L’interface | 17.97 Ko |


Commentaires
> Python et QT (tutoriel 3)
Pardon de n’avoir pas répondu plus tôt, je n’étais pas retourné sur le site.
En effet pourquoi pas mais il faut me laisser un peu de temps pour que je maîtrise un peu mieux python
> Python et QT (tutoriel 3)
Pardon de n’avoir pas répondu plus tôt, je n’étais pas retourné sur le site.
Merci beaucoup pour pour tes remarques et les corrections.
> Python et QT (tutoriel 3)
Merci Jibux pour tes articles.
Tu ne veux pas faire des ateliers sur ce sujet ?
Tu pourrais prendre comme référence tes articles, ce qui t’éviterais le travail de préparation.
> Python et QT (tutoriel 3)
Je trouve ton idée d’article très bonne car elle utilise un sujet de programmation qui change enfin du classique "Hello world".
Cette première présentation permet de planter le décor et de fixer les objectifs à atteindre. Nickel.
J’attends la suite avec impatience.
Quelques coquilles que j’ai relevées