PensandoEnPythonII

Páginas: 18 (4367 palabras) Publicado: 29 de septiembre de 2015
MIDDLEWARE

Pensando en Python (II):
3 en raya en modo gráfico
DIEGO LZ. DE IPIÑA GZ. DE ARTAZA (profesor del departamento de Ingeniería del Software de la facultad de
Ingeniería (ESIDE) de la Universidad de Deusto)

En esta segunda entrega de la serie
sobre Python aprenderemos a realizar
aplicaciones gráficas y a guardar de
manera persistente datos que han de
subsistir a la ejecución de unprograma. Extenderemos la
aplicación de tres en raya de la
anterior entrega, con una interfaz
gráfica y la capacidad de guardar en
ficheros los detalles de los jugadores
y sus estadísticas.
Introducción
La clave del éxito de toda aplicación profesional es
proveer una interfaz gráfica amigable que facilite
la interacción con el usuario y la explotación de su
funcionalidad. Además, la mayoría de losprogramas que usamos a diario deben guardar (o recordar) datos o preferencias utilizados en anteriores
ejecuciones de los mismos. Es decir, a menudo las
aplicaciones requieren de un mecanismo para
persistir datos a disco, siendo los mecanismos
más convencionalmente utilizados los ficheros o
bases de datos. En este artículo aprenderemos a
usar Python en el desarrollo de interfaces gráficas
y laserialización de datos en ficheros.
Pospondremos la programación de bases de datos
desde Python hasta la tercera entrega de esta
serie.

Programación gráfica en Python

Material complementario
El material complementario de
este artículo está disponible en
http://digital.revistasprofesionales.com

SOLO PROGRAMADORES nº 119

26

Python ofrece varias librerías de clases (o toolkits)
alternativas para laimplementación de una aplicación gráfica. Entre otras, las más conocidas son:
Tkinter, PyGTK, PyQt, Pythonwin y wxPython. A
continuación las analizamos y elegimos una de
ellas, wxPython.
Tkinter es la toolkit para el desarrollo de interfaces
gráficas (GUIs) que acompaña a la distribución de
Python. La documentación sobre esta API es parte

de la Python Library Referente (http://www.python.org/doc/current/lib/module-Tkinter.html).
Tkinter es una adaptación en Python de la API
gráfica tk ofrecida por el lenguaje de programación Tcl. Se distingue por ser multiplataforma y
venir integrada con la distribución estándar de
Python, no tendremos que instalar nada adicional.
Sin embargo, no presenta una apariencia nativa.
Es similar a Java Swing que independientemente
de la plataforma (Windows, UNIX oMac) ofrece,
por defecto, la misma apariencia. Su uso es muy
sencillo, pero es lenta y ofrece un número limitado de controles gráficos. Carece de controles
avanzados como los paneles multipestaña, los
árboles de directorios o incluso controles más
sencillos, como el combobox. Pmw (Python meta
widgets) disponible en http://pmw.sourceforge.net,
define encima de Tkinter una serie de componentes mássofisticados. Aunque resuelve las limitaciones de controles de Tkinter, hereda su lentitud
y su apariencia no nativa.
Existen otras toolkits que definen finas capas de
Python encima de toolkits gráficas más conocidas
que tk tales como GTK y Qt en Linux y la Windows
API. Estos módulos Python son llamados PyGTK
(http://www.riverbankcomputing.co.uk/pyqt/),
PyQt (http://www.pygtk.org/) y Pythonwin(http://www. python.org/windows/pythonwin/),
respectivamente. Su principal desventaja es que
están orientados a una plataforma específica
(UNIX o Windows), aunque las interfaces que producen son muy rápidas dado que interactúan
directamente con APIs nativas de la plataforma.
Su uso, es más complicado que en el caso de
Tkinter.
La toolkit wxPython (http://www.wxpython.org/)
es multiplataforma,presenta apariencia nativa y
ofrece un alto rendimiento gráfico. Está basada en
la API en C++ wxWidgets (http://www.wxwidgets.org/). wxWidgets ha venido representado
desde hace unos años una alternativa muy capaz
y sencilla tanto a las APIs de Windows: MFC
(Microsoft Foundation Classes) e incluso .NET
Windows Forms, como a las toolkits gráficas de
Linux: GTK y Qt. El combo wxWidgets/wxPython
nos...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS