Proyecto #1: un menú interactivo
Las especificaciones de esta aplicación son las siguientes: mostrar un menú interactivo que ejecuta una acción en función de la opción del usuario.
La arquitectura de este menú fundamentalmente se hará a través de una clase llamada MenuPi. Como sucedió con el ejemplo anterior, el constructor de la clase recibe como argumento la pantalla virtual inicializada automáticamente cuando la función curses.wrapper() invoca a la clase. El inicio del programa se puede escribir de la siguiente manera:
1 #!/usr/bin/env python3
2 import curses, os
3
4 class MenuPi:
5 def __init__(self, screen):
6 self.pantalla = screen
7 self.nombre_menu = self.__class__.__name__
8 self.pantalla.keypad(1)
9 self.mostrar_opciones()
10 self.pantalla.getch()
curses se configura para interpretar los caracteres introducidos por el teclado a través de la función pantalla.keypad(1). El nombre del menú se copia en el nombre de la clase y se almacena en la variable nombre_menu. La función mostrar_opciones() es responsable de la visualización de las posibles opciones por pantalla y toma forma fundamentalmente gracias a la función addstr(), que se encarga de crear las entradas de menú:...