Вы находитесь на странице: 1из 3

Captulo 1.

Introduccin
Tabla de contenidos 1.1. Exploracin de PyGTK PyGTK 2.0 es un conjunto de mdulos que componen una interfaz Python para GTK+ 2.0. En el resto de este documento cuando se menciona PyGTK se trata de la versin 2.0 o posterior de PyGTK, y en el caso de GTK+, tambin a su versin 2.0 y siguientes. El sitio web de referencia sobre PyGTK es www.pygtk.org. El autor principal de PyGTK es: James Henstridge james@daa.com.au que es ayudado por los desarrolladores citados en el archivo AUTHORS de la distribucin PyGTK y por la comunidad PyGTK. Python es un lenguaje de programacin interpretado, ampliable y orientado a objetos que se distribuye con un amplio conjunto de mdulos que permiten el acceso a un gran nmero de servicios del sistema operativo, servicios de internet (como HTML, XML, FTP, etc.), grficos (incluidos OpenGL, TK, etc.), funciones de manejo de cadenas, servicios de correo (IMAP, SMTP, POP3, etc.), multimedia (audio, JPEG) y servicios de criptografa. Existen adems multitud de mdulos proporcionados por terceros que aaden otros servicios. Python se distribuye bajo trminos similares a los de la licencia GPL y est disponible para los sistemas operativos Linux, Unix, Windows y Macintosh. En www.python.org hay ms informacion disponible sobre Python. Su autor principal es: Guido van Rossum guido@python.org GTK+ (GIMP Toolkit) es una librera que permite crear interfaces grficas de usuario. Se distribuye bajo la licencia LGPL, por lo que posibilita el desarrollo de software abierto, software libre, e incluso software comercial no libre que use GTK sin necesidad de pagar licencias o derechos. Se le conoce como el toolkit de GIMP porque originalmente se escribi para desarrollar el Programa de Manipulacin de Imgenes de GNU GIMP, pero GTK+ se usa ya en numerosos proyectos de software, includo el proyecto de escritorio GNOME (Entorno de Modelo de Objetos orientados a Red). GTK+ est diseada sobre GDK (Kit de Dibujo de GIMP) que, bsicamente, es una abstraccin de las funciones de bajo nivel que acceden al sistema de ventanas (Xlib en el caso del sistema de ventanas X). Los principales autores de GTK+ son: Peter Mattis petm@xcf.berkeley.edu Spencer Kimball spencer@xcf.berkeley.edu Josh MacDonald jmacd@xcf.berkeley.edu Actualmente GTK+ es mantenida por: Owen Taylor otaylor@redhat.com Tim Janik timj@gtk.org GTK+ es fundamentalmente un interfaz orientada a objetos para programadores de aplicaciones (API). Aunque est escrita completamente en C, est implementada usando la idea de clases y funciones de retrollamada (punteros a funcin). Existe un tercer componente, llamado Glib, que contiene diversas funciones que reemplazan algunas llamadas estandard, as como funciones adicionales para manejar listas enlazadas, etc. Las funciones de reemplazo se usan para aumentar la portabilidad de GTK+ ya que algunas de las funciones que implementa no estn disponibles o no son estndar en otros UNIX, tales como g_strerror(). Otras incluyen mejoras a las versiones de libc, tales como g_malloc, que posee capacidades de depuracin mejoradas.

Desde su versin 2.0, GLib incluye el sistema de tipos que forma la base de la jerarqua de clases de GTK+, el sistema de seales usado en sta, una API de hebras que abstrae las diferentes APIs nativas para programacin multihilo en las diversas plataformas, y la capacidad de cargar mdulos. Como ltimo componente, GTK+ usa la librera Pango para la salida de texto internacionalizado. Este tutorial describe la interfaz de Python con GTK+ y est basado en el tutorial de GTK+ 2.0 escrito por Tony Gale e Ian Main. En l se intenta documentar en la medida posible todo PyGTK, pero en ningn caso es completo. Este tutorial presupone algn conocimiento previo de Python, as de cmo se crean y ejecutan programas escritos en Python. Si no se est familiarizado con Python, es recomendable previamente la lectura del Tutorial de Python. Este tutorial no presupone ningn conocimiento previo sobre GTK+ y si se utiliza PyGTK para aprender GTK+ sera interesante recibir comentarios acerca de este tutorial, y qu aspectos resultan problemticos. Este tutorial no describe cmo compilar o instalar Python, GTK+ o PyGTK. Este tutorial est basado en: GTK+ desde la versin 2.0 hasta la 2.4 Python 2.2 PyGTK desde la versin 2.0 hasta la 2.4 Los ejemplos se escribieron y probaron en una RedHat 9.0. Este documento est "en obras". Por favor, consltese www.pygtk.org para localizar las actualizaciones. Me gustara mucho escuchar los problemas que aparezcan al aprender PyGTK a partir de este documento, y se aprecian los comentarios sobre cmo mejorarlo. Por favor, mira la seccin Cmo Contribuir para ms informacin. Si encuentra fallos, por favor rellene un informe de fallo en bugzilla.gnome.org en el proyecto pygtk. Para ello, la informacin que se encuentra en www.pygtk.org sobre Bugzilla puede resultar de gran utilidad. El manual de referencia de PyGTK 2.0 se encuentra disponible en http://www.pygtk.org/pygtkreference. Dicho manual describe detalladamente las clases de PyGTK y, por ahora, slo se encuentra disponible en ingls. La pgina web de PyGTK (www.pygtk.org) contiene otros recursos tiles para aprender PyGTK, incluido un enlace a la extensa FAQ (Lista de Preguntas Frecuentes, tambin en ingls nicamente), y otros artculos y cursos, as como una lista de correo activa y un canal IRC (consltese www.pygtk.org para los detalles).

1.1. Exploracin de PyGTK


Johan Dahlin escribi un pequeo programa en Python (pygtkconsole.py) que se ejecuta en Linux y permite la exploracin interactiva de PyGTK. Ese progama proporciona una interfaz de intrprete interactivo al estilo de la de Python, que se comunica con un proceso hijo que ejecuta los comandos introducidos. Los mdulos PyGTK se cargan por defecto al arrancar el programa. Un ejemplo simple de sesin es:
moe: 96:1095$ pygtkconsole.py Python 2.2.2, PyGTK 1.99.14 (Gtk+ 2.0.6) Interactive console to manipulate GTK+ widgets. >>> w=Window() >>> b=Button('Hola') >>> w.add(b) >>> def hola(b): ... print "Hola Mundo!"

... >>> b.connect('clicked', hola) 5 >>> w.show_all() >>> Hola Mundo! Hola Mundo! Hola Mundo! >>> b.set_label("Hola a todos") >>>

En este ejemplo se crea una ventana que contiene un botn que imprime un mensaje ('Hola Mundo!') cuando se hace clic en l. El programa permite probar as fcilmente los diversos controles de GTK+ y sus interfaces PyGTK. Tambin es til el programa desarrollado por Brian McErlean para la receta de Activestate 65109 junto con algunas modificaciones para que funcione con PyGTK 2.X. En este curso lo llamamos gpython.py y funciona de forma parecida al programa pygtkconsole.py.

Nota
Estos dos programas no funcionan en Microsoft Windows porque necesitan funciones especficas de Unix.

Вам также может понравиться