lunes, 12 de mayo de 2014

EasyGUI, la interfaz gráfica fácil

Introducción

EasyGUI es un módulo de interfaz gráfica para Python 2.x/3.x creado por Stephen Raymond Ferg basado en Tkinter, un binding de la biblioteca gráfica Tcl/Tk para Python. Tkinter es considerado un estándar para la interfaz gráfica de usuario para Python aunque en la actualidad las alternativas gráficas son numerosas. Para poder trabajar con EasyGUI es imprescindible que esté instalado Tkinter. En Windows no tendremos problemas porque se instala de forma predeterminada cuando se instala Python pero en Linux hay que instalar el paquete “python3-tk”:

$ sudo apt-get install python3-tk

EasyGUI es ideal para los programadores que se inician en Python y es, especialmente, útil para los administradores de sistemas porque permite incorporar a los scripts una interfaz gráfica muy fácil de programar que no requiere conocimientos de programación orientada a objetos, que serían necesarios para programar directamente con Tkinter. Actualmente, EasyGUI es mantenido por Alexander Zawadzki.


Instalar EasyGUI descargando archivo comprimido


Descargar el archivo comprimido del módulo, descomprimirlo en una carpeta y, después, proceder a su instalación:

Descargar EasyGUI última versión (last version)
Descargar EasyGUI versión: 0.96



Instalación en GNU/Linux:

$ sudo python setup.py install

Instalación en Windows:

> python setup.py install


Instalación última versión con instalador Pip


Instalación en GNU/Linux:

    $ sudo pip install easygui


    Instalación en Windows:

    > pip install easygui


    Importar el módulo EasyGUI


    Para importar el módulo en un programa Python 2.x/3.x con su propio espacio de nombres:

    import easygui as eg

    Ahora podremos acceder al entorno interactivo para importar el módulo como se indica en la línea anterior y para mostrar información del módulo EasyGUI y asegurarnos que está instalado correctamente, teclearemos:

    eg.abouteasygui()

    Debe aparecer la siguiente ventana:




    Algunas mejoras a partir de la versión 0.97.4:
    • Las funciones boolbox(), buttonbox(), ccbox(), indexbox() y ynbox() incorporan el nuevo argumento default_choice que permite resaltar uno de los botones de la ventana de diálogo, de tal forma, que si se presiona la tecla return esta opción será la elegida.
    • Las funciones boolbox(), ccbox(), ynbox() que se utilizan en ventanas de diálogos con dos posibles respuestas (aceptar/cancelar, si/no, etc.) devolverán los valores lógicos True y False en vez de los valores 1 y 0.
    • Es posible asignar (mapear) teclas a los botones de una ventana de diálogo. Si se escribe en un botón el título "[a]ceptar" la tecla "a" aparecerá subrayada y si se presiona dicha tecla será equivalente a presionar el botón. Si se escribe en un botón el título "[[a]]aceptar" tendrá el mismo efecto lo anterior pero el carácter "a" no se mostrará subrayado.
    • La función fileopenbox() permite seleccionar varios archivos. Para ello incorpora el argumento multiple que tendrá que establecerse como True.

    En los capítulos siguientes mostraremos ejemplos de uso de todos los objetos que podemos manejar fácilmente con EasyGUI desde nuestros programas: ventanas para salida de mensajes, cajas de entrada de datos, listas de selección, ventanas para abrir y guardar ficheros, etcétera.


    Ir al índice del tutorial de EasyGUI

    5 comentarios:

    AMF dijo...

    Gracias!!! Sos un genio de síntesis. Leí -mejor dicho devoré- todo tu blog y en media hora entendí lo que en el manual oficial (eso traducido de van rossum) me costó días no entender. No es que algún día vas a sacar un manual también de web2py? :-)))
    (le das una mano y te agarran hasta el pie).

    Pherkad dijo...

    Vaya, ¡ qué alegría me da ! Muchas gracias por sus palabras. :-)

    José Luis Barros Justo dijo...

    Acabo de instalarlo, pero: ¿Dónde están los siguientes capítulos con los ejemplos de uso? :D :D

    Gracias

    Pherkad dijo...

    José Luis, al final del índice del Tutorial de Python tiene todos los capítulos de EasyGUI: http://python-para-impacientes.blogspot.com.es/p/indice.html

    Saludos

    José Luis Barros Justo dijo...

    Perfecto. Muchas gracias, por la celeridad en la respuesta y por la calidad del material en el Blog.

    Salu2