LinuxParty
Python es un lenguaje de programación popular conocido por su simplicidad, legibilidad y versatilidad. Proporciona amplias bibliotecas y marcos que se adaptan a varios dominios de aplicación.
Hoy vamos a discutir cómo puede crear y ejecutar aplicaciones en su terminal con una biblioteca de Python llamada Textual . Cuando piensas en una aplicación que se ejecuta en la terminal, piensas en ella como una aplicación basada en texto pero no con Textual .
Si bien la interfaz gráfica de usuario (GUI) ha ganado popularidad, hay aplicaciones en las que se prefiere la interfaz de usuario de texto TUI, debido a sus interacciones de entrada y salida livianas, rápidas y flexibles.
¿Qué es Python textual?
Textual es un marco Python de código abierto creado por Will McGugan , que está destinado al desarrollo rápido de aplicaciones. Uso de una API de Python sencilla para crear interfaces de usuario (TUI) complejas basadas en texto e interfaces de línea de comandos (CLI).
Con Textual , puede crear aplicaciones de consola ricas e interactivas agregando widgets como botones, conmutadores de contexto, barras de desplazamiento, menús, casillas de verificación, campos de entrada y más a sus programas de terminal.
Textual proporciona varios componentes y herramientas que facilitan la creación de aplicaciones de línea de comandos, que admiten eventos de teclado, eventos de mouse y manejo de entrada. Puede agregar diseños, paneles y vistas para estructurar la interfaz de su aplicación. También contiene soporte incorporado para temas, lo que le permite personalizar la apariencia de la aplicación.
Aquí hay algunas características interesantes de Textual :
- Desarrollo rápido : utilice sus habilidades actuales de Python para crear impresionantes interfaces de usuario.
- Requisitos bajos : si lo desea, puede ejecutar Textual en una computadora de placa única.
- Multiplataforma : puede ejecutarse en todas partes: Windows, Linux y Mac.
- Remoto : SSH se puede usar para ejecutar aplicaciones textuales.
- Integración CLI : el símbolo del sistema se puede usar para abrir y ejecutar aplicaciones textuales .
- Código abierto : ¿quieres mejorar Textual ? Puede contribuir al proyecto porque la licencia MIT se aplica a textual.
Instale Textual en Linux, Mac y Windows
Para comenzar con Textual , su sistema debe tener instalado Python 3.7 o posterior . Después de eso, puede instalar Textual usando PyPI , que es un repositorio de software para la programación de Python.
La instalación de textual[dev] es imprescindible si tiene la intención de desarrollar aplicaciones textuales. Algunas dependencias adicionales están instaladas en la [dev]parte para el desarrollo.
pip install "textual[dev]" O pip3 install "textual[dev]"
Puede omitir la parte [dev] si solo desea ejecutar aplicaciones textuales como se muestra.
pip install "textual" OR pip3 install "textual"
No esperemos y ejecutemos el siguiente comando para ver de qué es capaz textual .
python -m textual O python3 -m textual
Es una demostración proporcionada por la biblioteca para que pueda explorar las funcionalidades proporcionadas como widgets: botones, entrada, árboles, etc. y CSS (hojas de estilo en cascada) para crear una interfaz de usuario rica.
Textual se basa en Rich , que es un módulo de Python que permite un formato sorprendente y texto enriquecido en la terminal. Con la ayuda de estos, podemos mostrar datos como JSON o tablas muy bien en la terminal.
Cree su primera aplicación TUI en Python
Después de jugar con la demostración, es hora de ensuciarse las manos y escribir un código real. Puede explorar la documentación oficial para obtener una explicación más detallada.
Para crear una aplicación ( app.py ) primero, debemos importar la clase App y crear una subclase. Luego creamos una instancia y la usamos run()para iniciar la aplicación.
from textual.app import App class MyApp(App): pass if __name__ == "__main__": app = MyApp() app.run()
Ahora ejecutemos nuestra aplicación app.py usando:
python app.py O python3 app.py
Verá la siguiente ventana en blanco
Parece aburrido, ¿verdad? Sal de la aplicación presionando CTRL + X de tu teclado. Agreguemos algo de texto y widgets.
from textual.app import App, ComposeResult from textual.widgets import Button, Label class MyApp(App): def compose(self) -> ComposeResult: self.close_button = Button("Cerrar", id="close") yield Label("Este es un tutorial de aplicación Texual") yield self.close_button def on_mount(self) -> None: self.screen.styles.background = "blue" self.close_button.styles.background = "purple" def on_button_pressed(self, event: Button.Pressed) -> None: self.exit(event.button.id) if __name__ == "__main__": app = MyApp() app.run()
Textual: agregue widgets a la aplicación
Esto hizo que nuestra aplicación tuviera un poco de vida. El botón de cerrar funciona perfectamente. Intente hacer clic con el mouse para salir. El atributo self.screen.styles.background está asignado a " blue " por el controlador on_mount , que, como probablemente puedas adivinar, hace que el fondo sea azul.
El último paso es desarrollar un on_button_pressed()método que sirva como controlador de eventos para detectar pulsaciones de botones. Su programa finaliza cuando se presiona el botón de cerrar, que llama a la función on_button_pressed().
Agregar CSS a la aplicación
Hojas de estilo en cascada , o CSS, es una lista de estilos e instrucciones sobre cómo usar cada estilo en una página web. La única diferencia con Textual es que los widgets están diseñados por la hoja de estilo, pero el concepto es el mismo.
Cree un archivo CSS llamado app.cssen el mismo directorio donde app.pyestá presente y agregue el siguiente código.
Screen { layout: grid; grid-size: 2; grid-gutter: 2; padding: 2; } #tutorial { width: 100%; height: 100%; column-span: 2; content-align: center bottom; text-style: bold; } Button { width: 100%; column-span: 2; }
Y realice los siguientes cambios en su app.pyaplicación. Estamos importando el archivo CSS que creamos usando “CSS_PATH = “app.css”” .
from textual.app import App, ComposeResult from textual.widgets import Button, Label class MyApp(App): CSS_PATH = "app.css" def compose(self) -> ComposeResult: self.close_button = Button("Cerrar", id="close") yield Label("Este es un tutorial de aplicación Texual", id="tutorial") yield self.close_button def on_mount(self) -> None: self.screen.styles.background = "blue" self.close_button.styles.background = "purple" def on_button_pressed(self, event: Button.Pressed) -> None: self.exit(event.button.id) if __name__ == "__main__": app = MyApp() app.run()
Luego agregamos ids a la etiqueta y al botón de cerrar. El número dos indica que la cuadrícula tendrá dos columnas de ancho y dos filas cuando le diga a Textual que desea emplear un diseño de cuadrícula.
El canalón de rejilla regula la distancia entre hileras. Por último, pero no menos importante, el relleno se ajusta para rodear el contenido del widget con espacio.
Nuestra primera aplicación TUI creada con Textual
En este artículo solo se discutieron algunos elementos. Hay mucho que Textual puede hacer.
Conclusión
En conclusión, la biblioteca textual permite a los desarrolladores de Python crear sin esfuerzo interfaces de usuario sofisticadas e interactivas en la terminal. Con su API simple y funciones versátiles, Textual permite el desarrollo fluido de aplicaciones de línea de comandos con un enfoque en la usabilidad y el compromiso.
Ya sea que esté creando herramientas de línea de comandos o juegos basados en texto, Textual ofrece un marco potente e intuitivo para crear experiencias inmersivas en el mundo de las interfaces basadas en texto.
Aplicación de terminal textual
Comience a explorar Textual hoy y desbloquee el potencial de la interactividad basada en texto en sus aplicaciones de Python.
-
Programación
- Thomas E. Kurtz, coinventor de BASIC, muere a los 96 años
- Profesor de informática del MIT prueba el impacto de la IA en la formación de programadores
- Lanzamiento del IDE de código abierto Qt Creator 14 con soporte para complementos basados en Lua
- Plantillas para Joomla - Episodio 1: Plantillas, marcos y clubes o no...
- Este es el mejor libro que he visto para aprender a programar en Python en castellano desde cero, gratis y online
- ¿Deberían los niños seguir aprendiendo a programar en la era de la IA?
- La 'obsolescencia' de VBScript confirmada por Microsoft y su eventual eliminación de Windows
- El Gran Debate: ¿Deberían los Modelos de Inteligencia Artificial Ser de Código Abierto?
- El lenguaje de programación BASIC cumple 60 años
- El CEO de Nvidia dice que los niños no deberían aprender a programar
- 40 años de Turbo Pascal: recuerdos del dinosaurio codificador que revolucionó los IDE
- Los lenguajes de programación más populares y dónde aprenderlos.
- Top 5 de los principales lenguajes de programación para desarrollar aplicaciones de escritorio Linux
- Qt Creator 12 lanzado con complementos de grabación de pantalla y Explorador de compiladores
- 10 sitios web para practicar problemas de programación