A miniTUI with the ability to handle simple keyboard events in a terminal.
Project description
Easy TUI
Descripción
Easy TUI es una biblioteca de Python que permite crear interfaces de usuario de texto (TUI) simples y manejables. Utiliza simple_screen para manejar la pantalla y proporciona una estructura básica para crear y gestionar controles como botones, entradas y etiquetas.
Instalación
Puedes instalar la biblioteca utilizando pip:
pip install easy_tui
Uso
Inicialización
Primero, importa las bibliotecas necesarias y define algunas variables globales:
import easy_tui as eTUI
from easy_tui import controls
Crear Widgets
Define tus controles utilizando las clases proporcionadas. Por ejemplo, una etiqueta (Label), una entrada de texto (Entry), y un botón (KeyButton):
label = controls.Label(col=10, fila=5, text="Nombre:")
entry = controls.Entry(col=18, fila=5, label="Nombre")
button = controls.KeyButton(col=10, fila=10, key=eTUI.ENTER, label="Enviar", command=mi_funcion)
Configurar el Bucle Principal
Usa la función loop para manejar la interacción del usuario y actualizar la pantalla:
eTUI.loop()
Ejemplo Completo
import easy_tui as eTUI
from easy_tui import controls
hello = controls.Label(25, 3, "Hola, mundo")
nombre = controls.Entry(25, 4, "Nombre: ")
apellidos = controls.Entry(25, 5, "Apellidos: ")
def cambiaNombre():
hello.text = f"Hola, {nombre.value} {apellidos.value}"
def limpiaTodo():
nombre.value = ""
apellidos.value = ""
cambiaNombre()
f1 = controls.KeyButton(0, key=eTUI.F1, label="Reset", command=limpiaTodo)
f2 = controls.KeyButton(16,key=eTUI.F2, command=cambiaNombre, label="Saluda")
eTUI.loop()
Nota: Las teclas y controles para modificacion basica de la pantalla se heredan de simple_screen y pueden ser invocados usando eTUI. Así, el locate de simple_screen se transforma en
eTUI.locate(columna, fila, texto)
y las teclas F de simple_screen, por ejemplo F2 en
eTUI.F2
los atributos de pantalla, tales como A_INVERSE se usan igual
eTUI.A_INVERSE.on()
... (pintar cosas)
eTUI.A_INVERSE.off()
Documentación
Clases y Métodos Principales
Finalmente el ancho del control no se controla.
Control
__init__(self, col=0, fila=0, ancho=16, alto=1): Inicializa el control.draw(self): Método abstracto para dibujar el control.
Label(Control)
__init__(self, col=0, fila=0, text="Label"): Inicializa una etiqueta.draw(self): Dibuja la etiqueta en la posición especificada.
Entry(Control, TabulatableMixin)
__init__(self, col=0, fila=0, label="", ancho=16): Inicializa una entrada de texto.draw(self): Dibuja la entrada de texto.handle_input(self, key): Maneja la entrada del usuario.
KeyButton(Control, ButtonMixin)
__init__(self, col=0, fila=LAST_ROW, key=None, command=None, label=""): Inicializa un botón con una tecla específica.click(self): Ejecuta el comando asociado al botón.draw(self): Dibuja el botón.
Licencia
Este proyecto está licenciado bajo la Licencia MIT.
Con esta estructura, podrás crear aplicaciones de consola simples y efectivas usando simple_screen y easy_tui. ¡Disfruta programando!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file easy_tui-0.1.4.tar.gz.
File metadata
- Download URL: easy_tui-0.1.4.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e21e8f900e26ea76f9b2b8ab57e2d56eec181aec3624bcac92e875a52cdf0b20
|
|
| MD5 |
497cb547f747cba710d1fe33828d08ab
|
|
| BLAKE2b-256 |
dc39c2c798fd05d5f5355e9fc220615c5099462106db0691862d482091b74cbe
|