21 dic. 2008

Tutorial para Crear un Hola Mundo Con Glade3 + Python

Bueno como algunos saben recientemente me embarque en el cuento de crear un programita, es algo tosco por el momento pero quiero confesar que iniciar a programar en Linux cuando eres un total novato como yo, no es una experiencia agradable y todo el mundo te habla de Pyhton, de C, C++ y un montón de lenguajes, después te hablan de IDE, de IDLE, después de API y después de GUI. Y francamente uno no entiende nada porque todo lo ponen en términos que para ellos “los programadores” es tan sencillo, el problema es que con toda esa info medianamente entendible uno no se anima ni a programar ni a crear un programa porque lo único que hacen es ponerlo todo mas difícil.

Voy a exponer ese típico programa básico e inicial que todos te ponen a crear cuando miras un tutorías de Pyhton, de C, C++ o Perl o el que sea, pero este será diferente porque lo voy a hacer bien grafico y bien masticadito y no en esos términos de programadores que me ofuscaron al principio y que ahora de alguna manera ya entiendo.

Que requerimos para hacer lo siguiente:

  1. Ser un usuario con experiencia mínima en programación

  2. Instalar:

    1. Python 2.5 o superior

    2. Gedit (Editor de Texto de Gnome)

    3. Glade 3

Arranquemos con la instalación de python, gedit y glade3

Vamos a synaptic y buscamos los paquetes Python 2.5, Gedit y Glade 3 o entramos al Terminal y escribimos:

sudo apt-get install python2.5 gedit glade3

Ya tenemos instalados los paquetes que vamos a utilizar y los programas que vamos a utilizar, de primera mano quiero aclarar que no voy a hacer un programa donde simplemente diga HOLA MUNDO, lo que vamos a crear es algo visual, un programita así como exaile, como banshee algo tangible algo visual, a esto se le llama GUI que en términos bien simples es una interfaz grafica para el usuario, es decir todo aquello con lo que tenemos contacto directo y no las líneas de código.

Primero voy a exponer lo que hace este programa en Python.

Este programa en python simplemente tiene una salida y es imprimir un mensaje que dice “Hola Mundo”

El código en python es el que sigue:

print “Hola Mundo”

Entonces explico los programas que vamos a usar, seguramente si te gusta programar después de este tutorial te mostrare algunas herramientas que son mas cómodas para trabajar en programación una de ellas es IDLE, pero por ahora vamos con lo mas masticado y basico.

PYTHON: Es simplemente un lenguaje de programación de alto nivel con el que se realizan hoy en día un gran numero de programas, es bastante fácil de aprender y seguramente siguiendo un tutorial básico puedes aprender a hacer cositas interesantes como preguntar la edad, buscar un numero de teléfono en una agenda y programas en modo texto que puedes correr con el Terminal de manera facil.

GEDIT: Es el editor de Gnome, si usas Ubuntu seguro ya lo tienes instalado porque viene por defecto y básicamente sirve como notepad para escribir y como fuerza adicional sirve para escribir codigos de programas en cualquier lenguaje de programación como Python.

GLADE: Este programa es el que hace la magia posible, ya que permite que lo que solamente existe en el mundo de Python pase a convertirse en objetos bellos y visuales para nuestro entorno de Escritorio. Glade básicamente es un RAD, pero para no confundirnos le vamos a poner como nombre, aplicación para desarrollo visual rápida.

Ahora que ya tenemos los conceptos claros podemos comenzar con Hola Mundo.

Lo primero que vamos a hacer es ir a aplicaciones > programación > glade.

Cuando abrimos el programita lo que obtenemos es lo siguiente.

Ahora vamos a comenzar haciendo un programa simple que tenga como resultado un texto que diga Hola Mundo esto lo realizaremos paso a paso.

Lo primero despues de abrir Glade es crear una ventana, esto se realiza con el primer icono que aparece en la izquierda en la barra de iconos. Esto inmediatamente creara una ventana para nosotros que es donde vamos a trabajar.Ahora el paso a seguir es creara un label que es en otras palabras es un texto, este texto le vamos a poner por nombre Hola Mundo!

Ahora vamos a revisar las propiedades de la ventana a la que yo siempre le pongo por nombre Principal para que se entienda que es la interfas del programa cuyo caracteristica es ser la primera. Ahora la segunda etapa de esto es revisar el comportamiento.

Para ello en la pestaña de comunes nos aseguramos que donde dice visible la respuesta sea si, de lo contrario cuando ejectumos el programa no lo podremos ver porque la ventana sera invisible.

El siguiente paso es ir a señales y crear una señal para que cuando presionemos el boton X de la esquina de la ventana el programa se cierre.

Ahora lo guardamos como hola.glade en una carpeta que sea de facil acesso.

Ahora que ya tenemos esto creado la idea es llevarlo a Python para ejecutarlo. Para poder ejecturalo vamos a crear un archivo en python que llame a la interfaz hola.glade, a este archivo le vamos a poner la siguiente instrucción, para ello abrimos el editor de texto y metemos las siguientes instrucciones.

Siempre que tenemos un archivo glade y lo queremos ejecutar tenemos que usar los comandos que siguen a continuacion.

Ahora para correrlo abrimos el terminal, nos vamos a la carpeta donde lo guardamos y simplemente ponemos la instrucción python hola.py en el terminal y lo que obtenemos es lo siguiente.

Listo tenemos nuestro primer programa pero ahora es necesario mejorarlo.

La razon es que por ahora se ve muy pequeño y para cerrarlo tenemos que matar al terminal, por eso vamos a hacer unas modificaciones primero en glade. Y despues otras en Python

Las modificaciones en glade comienzan agregando unas mejoras para que la ventana que se abre sea un poco mas grande para ello simplemente ponemos los siguientes valores en las propiedades y listo. La proxima ves que lo ejecutamos ya no se vera asi de pequeño como la primera vez.

El siguiente paso es agregarle un boton de cerrar asi que borremos todo menos la ventana que dice principal, el segundo paso es poner una vista de dos para que se ajuste nuestra ventana la idea es obtener el siguiente resultado. Que sera el resultado que tendremos al final de este tutorial.

Ahora nos vamos para el editor de textos y vamos a modificar el archivo hola.py que teniamos creado para hacer mucho mas manejable nuestro programa. Tranquilos con lo que viene porque parece mucho codigo pero no es complejo. Realmente lo que haremos es refinar un poco el codigo.

Bueno nuevamente nos vamos a glade y vamos a darle una accion que este en relacion con el codigo que acabamos de crear que lo unico que ha hecho es conectar una señal con un evento. Esa señal es para salir y el evento que ejecuta el codigo que agregamos anteriormente es salir del programa para que no tengamos que matar al terminal.
Ahora nos vamos a donde esta el boton de cerrar y le vamos aplicar lo mismo que hicimos con la ventana principal para que al presionar el boton cerrar, la señal se conecte con el evento salir.
Si todo esta bien podemos buscar el archivo desde el terminal y ejecutarlo y ya tenemos listo y finalizado nuestro primero Hola Mundo.

Si alguien requiere una modificacion de este tutorial porfavor agregar un comentario para clarificar la parte que no sea entendible. Este es solo un pequeño acercamiento a la programacion y creacion de GUI, por ahora esta en la fase mas simple y si te animas seguramente iras agregando y agregando mas cosas pero es fundamental que tengas mas contacto con Python a medida que agregas mas señales y eventos.

8 comentarios:

  1. Muchas gracias por el tutorial, voy a leerlo con cuidado.

    ResponderEliminar
  2. Quiero que me comentes, varias cositas:
    1. Si seguistes los pasos
    2. Habias programado antes ?
    3. Que te parecio dificil
    4. Que te gustaria que mejorara de este tutorial

    Me serviria mucho para poder hacer modifiaciones y hacerlo mas simple si es necesario. Gracias por pasar por mi blog.

    ResponderEliminar
  3. Me sale este error al ejecutar el archivo python:

    user@user:~/Escritorio/ProbandoGlade$ python hola.py
    File "hola.py", line 6
    SyntaxError: Non-ASCII character '\xc3' in file hola.py on line 6, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

    ResponderEliminar
  4. Bueno seguramente segun lo que leo en el mensaje es que estas usando un caracter que no es valido en el lengua python estos caracteres pueden ser:

    Ñ, ñ, °, |.

    Asi que revisa si estas usando alguno de esos caracteres y vuelve a correr el programa.

    ResponderEliminar
  5. Ya he revisado. Lo que no esta dejando es que use caracteres (á,é,í, etc) en los comentarios. Como configuro el python pa poder dejar alos comentarios en español??

    ResponderEliminar
  6. Gracias. Acabo de empezar con esto y me ha sido de ayuda. He programado en varios lenguajes antes pero no creo que sea nada dificil de entender. Un saludo

    ResponderEliminar
  7. @Anónimo: Para poder usar tildes en las letras (á,é,í,ó,ñ, etc.) debes declarar la codificación de texto en la primera línea de código.

    Aunque acabes de empezar a programar deberías acostumbrarte a cosas como esa, porque forman parte del estándard de programación.

    Para declarar en python una codificación de idioma:

    # -+- coding: utf-8 -+-

    Debes ponerlo así, incluída la almohadilla. Si quieres usar estrictamente codificación latino/hispana (cosa que no te recomiendo) cambia utf-8 por iso-8859-1

    Un saludo!

    ResponderEliminar
  8. me da error
    File "/home/santiago/Escritorio/hola.py", line 7, in
    glade.XML('hola.glade')
    RuntimeError: could not create GladeXML object

    ResponderEliminar