LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

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.

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías