Skip to Content

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.

Zip - 17.9 ko
L’interface

Pour la suite, c’est ici

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.png19.5 Ko
revcalReviser.png18.35 Ko
L’interface17.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

  •  Paragraphe 3 : remplacer "Le premier permets" par "Le premier permet"
  •  Paragraphe situé entre les deux copies d’écrans : remplacer "Le gros boutons grisé" par "Le gros bouton grisé"
  •  Paragraphe final : remplacer "le processus continu" par "le processus continue"