Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
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.
Puedes instalar la biblioteca utilizando pip:
pip install easy_tui
Primero, importa las bibliotecas necesarias y define algunas variables globales:
import easy_tui as eTUI
from easy_tui import controls
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)
Usa la función loop
para manejar la interacción del usuario y actualizar la pantalla:
eTUI.loop()
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()
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.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!
FAQs
A miniTUI with the ability to handle simple keyboard events in a terminal.
We found that easy-tui demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.