Sommaire

Projet #1 : une horloge en console

Voyons comment construire une application légèrement plus complexe, à savoir une horloge géante affichée dans la console (Chapitre_4/urwid_2.py) :

1 #!/usr/bin/env python3 
2 import urwid  
3 import time  

La logique du programme est encapsulée au sein de la classe Horloge afin d’en réduire la complexité. L’initialisation de la classe configure l’horloge, définit la palette de couleurs, instancie la boucle événementielle et attache une alarme de 1 seconde à une fonction :  

6 class Horloge:  
7     def __init__(self):  
8         self.configurer_horloge()  
9         self.palette = [(’horloge’, ’dark blue’, ’’)]  
10         self.boucle = urwid.MainLoop(  
11             self.horloge,  
12             palette=self.palette,  
13             unhandled_input=self.quitter)  
14         self.boucle.set_alarm_in(1, self.actualiser)

Nous étudierons plus tard l’utilité d’une alarme. Mais en premier lieu, examinons la configuration de l’horloge :

21     ...