Hola, que tal!!
Hoy vamos a aprender a crear interfaces gráficas usando Python y GTK, bien para ello es necesario tener conocimientos de python a nivel "intermedio", trabajar un poco con POO, entre algunas otras cosas.
Bien para ello necesitaremos tener Python, yo uso actualmente la versión 2.7 y con esa trabajaré, también es necesario tener las librerías para poder trabajar con GTK, para ello si eres usuario de windows puedes bajar los archivos binarios desde la web oficial, (te recomiendo el paquete all-in-one installer, ahi viene todo lo necesario para usar pyGTK, y descarga el paquete apropiado ya sea python 2.6 o 2.7, etc... ), y si eres usuario de GNU/Linux, probablemente en tu distribución las librerías ya estén instaladas... o por lo menos eso dice en la web oficial xD
Una vez instaladas las librerías, ahora si es hora de programar ;D
Bien para ello abrimos nuestro editor favorito, (IDLE de Python, Bloc de notas, VIM, NANO, Notepad++ etc.. ) y escribiremos lo siguiente:
Y bien tratare de explicar el code...
Las lineas:
Son para llamar al interprete de Python, después tenemos en la cuarta linea la importación de la librería pyGTK, también decimos que requerimos de la versión 2.0, e importamos la librería gtk, no se asusten en realidad esto no es importante de entender, simplemente deben saber que es para poder trabajar con GTK...
Después tenemos las lineas:
Creamos una clase llamada "Base", en ella vamos a escribir las funciones, la primera:
Bien, en esta parte como dije al inicio ya debemos de saber un poco de Python, asi que solo explicare los objetos que se crean:
En la primera linea creamos una ventana, asignamos a la variable self.window el valor gtk.Window(gtk.WINDOW_TOPLEVEL) , con esto ya creamos la ventana, despues en la segunda linea hacemos que se muestre...
Después creamos una función llamada main, ahí se almacenará gtk.main(), que posteriormente llamaremos a esta función con las siguientes lineas:
Si necesitan ayuda sobre estas lineas recomiendo visitar este link, talvez ahí se aclare su duda :D
Y bien con eso ya tenemos nuestra primer ventana... pueden probar el code desde su terminal haciendo:
Bien, si se dan cuenta, al dar click en cerrar, la terminal se ve como si siguiera corriendo el proceso, es decir no se a terminado, no se cerró el programa, bien para ello vamos a agregar unas lineas al code, asi que apretaremos en la terminal CTR+C y veremos algo como esto:
Ahora si editaremos el code...
Vamos a crear una función "destruir", o asi la llamare yo, en realidad puede tener cualquier nombre, pero es recomendable que a la hora de escribir código sea entendible :D
Bien escribiremos antes de:
Las siguientes lineas:
Como podemos ver también agregamos una linea en la función __init__ esto para que cuando se haga click en el botón cerrar se llame a la función destruir y se cierre la ventana correctamente, es IMPORTANTE que a la linea:
se le pase como parámetros "destroy" coma (,) seguidamente de la función para destruir la ventana (self.desruir)...
Ahora si si probamos el code veremos que ya no nos sucede que, la terminal seguía como si aun hubiera un proceso corriendo, esto es porque ahora SI SE CIERRA el proceso correctamente :D
Asi que el codigo finalmente nos queda algo como:
En rojo están las lineas que agregamos...
Y bien esta es nuestro primer programa con Python y GTK, realmente es algo sencillo, después veremos algunas funciones mas para personalizar la ventana, como tamaño, titulo, etc...
Finalmente el código nos quedó así:
Si se preguntan que editor usé, se llama VIM...
¿Alguna duda? Comenta!!
Salud[OS]
[Z]tuX
Hoy vamos a aprender a crear interfaces gráficas usando Python y GTK, bien para ello es necesario tener conocimientos de python a nivel "intermedio", trabajar un poco con POO, entre algunas otras cosas.
Bien para ello necesitaremos tener Python, yo uso actualmente la versión 2.7 y con esa trabajaré, también es necesario tener las librerías para poder trabajar con GTK, para ello si eres usuario de windows puedes bajar los archivos binarios desde la web oficial, (te recomiendo el paquete all-in-one installer, ahi viene todo lo necesario para usar pyGTK, y descarga el paquete apropiado ya sea python 2.6 o 2.7, etc... ), y si eres usuario de GNU/Linux, probablemente en tu distribución las librerías ya estén instaladas... o por lo menos eso dice en la web oficial xD
Una vez instaladas las librerías, ahora si es hora de programar ;D
Bien para ello abrimos nuestro editor favorito, (IDLE de Python, Bloc de notas, VIM, NANO, Notepad++ etc.. ) y escribiremos lo siguiente:
#!/usr/bin/env python
#Importamos las librerias Necesarias de GTK
import pygtk
pygtk.require("2.0")
import gtk
class Base:
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.show()
def main(self):
gtk.main()
if __name__=="__main__":
base = Base()
base.main()
Y bien tratare de explicar el code...
Las lineas:
#!/usr/bin/env python
#Importamos las librerias Necesarias de GTK
import pygtk
pygtk.require("2.0")
import gtk
Son para llamar al interprete de Python, después tenemos en la cuarta linea la importación de la librería pyGTK, también decimos que requerimos de la versión 2.0, e importamos la librería gtk, no se asusten en realidad esto no es importante de entender, simplemente deben saber que es para poder trabajar con GTK...
Después tenemos las lineas:
class Base:
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.show()
def main(self):
gtk.main()
Creamos una clase llamada "Base", en ella vamos a escribir las funciones, la primera:
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.show()
Bien, en esta parte como dije al inicio ya debemos de saber un poco de Python, asi que solo explicare los objetos que se crean:
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.show()
En la primera linea creamos una ventana, asignamos a la variable self.window el valor gtk.Window(gtk.WINDOW_TOPLEVEL) , con esto ya creamos la ventana, despues en la segunda linea hacemos que se muestre...
Después creamos una función llamada main, ahí se almacenará gtk.main(), que posteriormente llamaremos a esta función con las siguientes lineas:
if __name__=="__main__":
base = Base()
base.main()
Si necesitan ayuda sobre estas lineas recomiendo visitar este link, talvez ahí se aclare su duda :D
Y bien con eso ya tenemos nuestra primer ventana... pueden probar el code desde su terminal haciendo:
python interfaz1.py
Bien, si se dan cuenta, al dar click en cerrar, la terminal se ve como si siguiera corriendo el proceso, es decir no se a terminado, no se cerró el programa, bien para ello vamos a agregar unas lineas al code, asi que apretaremos en la terminal CTR+C y veremos algo como esto:
Ahora si editaremos el code...
Vamos a crear una función "destruir", o asi la llamare yo, en realidad puede tener cualquier nombre, pero es recomendable que a la hora de escribir código sea entendible :D
Bien escribiremos antes de:
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.show()
Las siguientes lineas:
class Base:
#Creamos la funcion Destruir
def destruir(self,widget, data="None"):
gtk.main_quit()
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.show()
#Agregamos esta linea
self.window.connect("destroy",self.destruir)
Como podemos ver también agregamos una linea en la función __init__ esto para que cuando se haga click en el botón cerrar se llame a la función destruir y se cierre la ventana correctamente, es IMPORTANTE que a la linea:
self.window.connect("destroy",self.destruir)
se le pase como parámetros "destroy" coma (,) seguidamente de la función para destruir la ventana (self.desruir)...
Ahora si si probamos el code veremos que ya no nos sucede que, la terminal seguía como si aun hubiera un proceso corriendo, esto es porque ahora SI SE CIERRA el proceso correctamente :D
Asi que el codigo finalmente nos queda algo como:
En rojo están las lineas que agregamos...
Y bien esta es nuestro primer programa con Python y GTK, realmente es algo sencillo, después veremos algunas funciones mas para personalizar la ventana, como tamaño, titulo, etc...
Finalmente el código nos quedó así:
#!/usr/bin/env python
#Importamos las librerias Necesarias de GTK
import pygtk
pygtk.require("2.0")
import gtk
class Base:
def destruir(self,widget, data="None"):
gtk.main_quit()
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.show()
self.window.connect("destroy",self.destruir)
def main(self):
gtk.main()
if __name__=="__main__":
base = Base()
base.main()
Si se preguntan que editor usé, se llama VIM...
¿Alguna duda? Comenta!!
Salud[OS]
[Z]tuX
Comments
0 Response to 'GTK y Python [Interfaz gráfica con Python y GTK]'
Publicar un comentario