Debido a esto, Python ofrece la posibilidad de utilizar herramientas para la construcción de interfaces de usuario, lo que nos permite darle un sentido gráfico a nuestro programa, organizar los elementos de forma que un tercero pueda hacer uso del mismo.
Plataformas Disponibles
Existe una gran cantidad de plataformas para desarrollar interfaces de usuario gráficas en Python, la que elijamos estará bien, esto siempre y cuando sepamos porque lo hacemos, ninguna es mejor que otra, simplemente son formas diferentes de llegar a una meta.
Veamos algunas de las opciones que hay disponibles, aclarando que no son todas las que existen, pueden haber y de seguro habrán miles de opciones, sin embargo estas pueden servirnos de base para partir desde algún punto.
Estas herramientas son denominadas toolkits, veamos el listado:
Tkinter: Utiliza la plataforma TK. Tiene disponibilidad inmediata. Es semi-estandar.
wxPython: Basado en wx Windows. Su popularidad está creciendo muy rápidamente.
PythonWin: Solo disponible para Windows. Utiliza las capacidades nativas del entorno de interfaz gráfica de Windows.
Java Swing: Solo disponible para Jython. Utiliza las capacidades nativas de interfaz gráfica de Java.
PyGTK: Utiliza la plataforma GTK. Muy popular en entornos Linux.
PyQt: Utiliza la plataforma Qt. Es especialmente popular en plataformas Linux.
En el caso de este tutorial a modo demostrativo vamos a utilizar wxPython, para ello vamos a descargarlo desde su página web disponible en la URL http://wxpython.org/download.php.
Es importante bajar la versión que esté hecha para la versión de Python que estemos trabajando de forma que no nos arroje errores.
En la siguiente imagen podemos ver las versiones y como luce la página de descargas de este toolkit:
Una vez descargado y configurado podemos pasar a la siguiente parte.
Creando una ventana y sus componentes
Las Ventanas o Windows también conocidas como frames, son instancias de la clase wx.Frames y van a ser la base contenedora de nuestra interfaz, veamos un código muy básico de ejemplo que podemos utilizar como base para entender el funcionamiento de lo que realmente hace un toolkit.
import wx app = wx.App() win = wx.Frame(None) win.Show() app.MainLoop()
Iniciamos el código importando wx que es nuestro toolkit, luego hacemos dos instancias una para la aplicación y otra para el frame que será el contenedor, luego llamamos al método Show() que mostrará la ventana y dentro estará la aplicación; por supuesto todo esto está vació ya que no hemos hecho nada, sin embargo al correr nuestro programa veremos lo siguiente:
Como vemos esto es bastante sencillo y le va dando un aspecto diferente a lo que venimos acostumbrados de ver en Python con la consola de comandos.
Esto es todo por esta primera parte, en la siguiente ahondaremos un poco más sobre este tema con más ejemplos prácticos.