La libreria Curses proporciona la capacidad de manejar entornos graficos “primitivos” en la terminal, manejo de colores, scrolls, campos de texto y visualizacion de informacion en ventanas dentro de la terminal.
La libreria Curses proporciona la facilidad para dibujar texto en pantalla, manejo de teclado en terminales, como la terminal de windows o linux. Tambien las posibilidades de mover el cursor, scroll en pantalla, borrar areas y mas.
Estamos hablando de una libreria que proporcionaba la modernidad en los tiempos que las computadoras solo trabajaban en modo termianl y no habia entornos graficos.
Un ejemplo de una interfaz grafica desarrollada con Curses es por ejemplo la siguiente, que a algunos nos toco ver en la instalacion de Linux.
La libreria Curses esta disponible para muchos lenguajes de programacion como Python, C, c++ entre otros lenguajes.
Curses en Python
En este articulo crearemos un script en Python para ilustrar el uso de la libreria Curses.
Para instalar la libreria Curses en Windows es necesario usar el siguiente comando de pip.
pip install windows-curses
Este comando instalara la libreria curses para windows y podremos usar curses en nuestros scripts de python.
# importar la libreria curses import curses # creacion de una instancia de iniciar SCREEN para poder dibijar en pantalla stdscr = curses.initscr() stdscr.addstr(0,10,"Hola Mundo!") # Mostrar el texto en pantalla stdscr.addstr(1,10,"Hola Mundo!",curses.A_BLINK) stdscr.addstr(2,10,"Hola Mundo!",curses.A_BOLD) stdscr.addstr(3,10,"Hola Mundo!",curses.A_DIM) stdscr.addstr(4,10,"Hola Mundo!",curses.A_STANDOUT) stdscr.addstr(5,10,"Hola Mundo!",curses.A_UNDERLINE) stdscr.getkey() # Obtenemos cualquier tecla , al presionarla se cierra el programa
Agregue unos comentarios al script para explicar lo que estamos haciendo.
La funcion strscr.addstr sirve para agregar texto y como parametros tiene:
- LINEA: el primer parametro es la linea, empezando con la linea 0 son las lineas de texto
- COLUMNA: El segundo parametro es la columna en la cual se posicionara el texto
- TEXTO: el texto que se va a mostrar
- ATRIBUTO: Es el formato o en el que se mostrar el texto.
Los atriburos que le podemos agregar a nuestros textos son los siguientes:
- curses.A_BLINK : Texto parpadeando
- curses.A_BOLD: Texto en negritas
- curses.A_DIM: Texto en medio negritas
- curses.A_STANDOUT: Texto con fondo blanco
- curses.A_UNDERLINE: Texto subrrayado
- curses.A_REVERSE: Texto en reversa
Y asi podemos modificar los atributos.
El resultado al ejecutar el script es el siguiente: