Diferencias entre las revisiones 1 y 2
Versión 1 con fecha 2010-01-07 07:42:28
Tamaño: 19514
Comentario:
Versión 2 con fecha 2010-01-07 07:48:13
Tamaño: 19730
Comentario:
Los textos eliminados se marcan así. Los textos añadidos se marcan así.
Línea 2: Línea 2:
Línea 12: Línea 11:

   ''neosergio''
 .
 ''neosergio''

Línea 34: Línea 35:

}}}
   '''avaldes'''
{{{
ok neosergio 
}}}
 .
'''avaldes'''


{{{
ok neosergio
Línea 42: Línea 45:
en primer lugar agradezco la invitacion de neosergio  en primer lugar agradezco la invitacion de neosergio
Línea 82: Línea 85:
pero si que veamos lo interesante que puede resultar  pero si que veamos lo interesante que puede resultar
Línea 91: Línea 94:

}}}
   jza
}}}
 . jza
Línea 96: Línea 99:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 159: Línea 164:

}}}
   mib_5ov559
}}}
 . mib_5ov559
Línea 164: Línea 169:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 185: Línea 192:

}}}
   mib_5ov559
}}}
 . mib_5ov559
Línea 190: Línea 197:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 195: Línea 204:

}}}
   mib_5ov559
{{{
bueno aclaro mis dudas  
}}}
   '''avaldes'''
}}}
 . mib_5ov559

{{{
bueno aclaro mis dudas
}}}
 .
'''avaldes'''

Línea 207: Línea 218:

}}}
   mib_5ov559
{{{
 siempre es en programacion visual se utiliza los widgets  
}}}
   '''avaldes'''
}}}
 . mib_5ov559

{{{
 siempre es en programacion visual se utiliza los widgets
}}}
 .
'''avaldes'''

Línea 241: Línea 254:

}}}
   ''neosergio''
}}}
 .
''neosergio''

Línea 246: Línea 261:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 317: Línea 334:

}}}
   ''neosergio''
}}}
 .
''neosergio''

Línea 322: Línea 341:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 331: Línea 352:

}}}
   marco
}}}
 . marco
Línea 336: Línea 357:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 350: Línea 373:
y deben modificar el layout de un programa de manera rápida y sin tener que compilar  y deben modificar el layout de un programa de manera rápida y sin tener que compilar
Línea 371: Línea 394:

}}}
   ''neosergio''
}}}
 .
''neosergio''

Línea 376: Línea 401:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 383: Línea 410:

}}}
   ''neosergio''
}}}
 .
''neosergio''

Línea 388: Línea 417:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 417: Línea 448:

}}}
   JuNix
}}}
 .
JuNix

Línea 422: Línea 455:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 427: Línea 462:

}}}
   R1chy
}}}
 . R1chy
Línea 432: Línea 467:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 437: Línea 474:

}}}
   JuNix
}}}
 .
JuNix

Línea 444: Línea 483:

}}}
   mib_bxdxns
}}}
 . mib_bxdxns
Línea 449: Línea 488:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 454: Línea 495:

}}}
   famaya17
}}}
 . famaya17
Línea 459: Línea 500:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 466: Línea 509:

}}}
   JuNix
}}}
 .
JuNix

Línea 471: Línea 516:

}}}
   b4ck7r4ck
}}}
 . b4ck7r4ck
Línea 476: Línea 521:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 485: Línea 532:

}}}
   ''neosergio''
}}}
 .
''neosergio''

Línea 490: Línea 539:

}}}
   mib_5ov559
}}}
 . mib_5ov559
Línea 495: Línea 544:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 545: Línea 596:
con ejemplos esto les deberia quedar mas claro..  con ejemplos esto les deberia quedar mas claro..
Línea 558: Línea 609:

}}}
   cfoch3
}}}
 . cfoch3
Línea 563: Línea 614:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 586: Línea 639:

}}}
   fmaq
}}}
 . fmaq
Línea 593: Línea 646:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 602: Línea 657:

}}}
   adrian0
}}}
 . adrian0
Línea 607: Línea 662:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 614: Línea 671:

}}}
   marvil07
{{{
avaldes: hay un paquete debian para gtkbuilder?  
}}}
   '''avaldes'''
}}}
 . marvil07

{{{
avaldes: hay un paquete debian para gtkbuilder?
}}}
 .
'''avaldes'''

Línea 664: Línea 723:

}}}
   user001
}}}
 . user001
Línea 669: Línea 728:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 674: Línea 735:

}}}
   adrian0
}}}
 . adrian0
Línea 679: Línea 740:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 698: Línea 761:

}}}
   adrian0
}}}
 . adrian0
Línea 703: Línea 766:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 710: Línea 775:

}}}
   b4ck7r4ck
}}}
 . b4ck7r4ck
Línea 715: Línea 780:

}}}
   pagondel
}}}
 . pagondel
Línea 720: Línea 785:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 755: Línea 822:

}}}
   joaquindlz
}}}
 . joaquindlz
Línea 760: Línea 827:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 810: Línea 879:
 
Línea 861: Línea 930:

}}}
   cfoch3
}}}
 . cfoch3
Línea 866: Línea 935:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 891: Línea 962:

}}}
   b4ck7r4ck
}}}
 . b4ck7r4ck
Línea 896: Línea 967:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 901: Línea 974:

}}}
   fmaq
}}}
 . fmaq
Línea 906: Línea 979:

}}}
   mondini
}}}
 . mondini
Línea 911: Línea 984:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 920: Línea 995:

}}}
   b4ck7r4ck
}}}
 . b4ck7r4ck
Línea 925: Línea 1000:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 930: Línea 1007:

}}}
   mondini
}}}
 . mondini
Línea 935: Línea 1012:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 940: Línea 1019:

}}}
   mondini
}}}
 . mondini
Línea 945: Línea 1024:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 1050: Línea 1131:

}}}
   JuNix
}}}
 .
JuNix

Línea 1055: Línea 1138:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 1067: Línea 1152:
a menos que agreguemos otros widgets  a menos que agreguemos otros widgets
Línea 1070: Línea 1155:

}}}
   joaquindlz
}}}
 . joaquindlz
Línea 1075: Línea 1160:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 1084: Línea 1171:

}}}
   JuNix
}}}
 .
JuNix

Línea 1089: Línea 1178:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 1108: Línea 1199:

}}}
   JuNix
}}}
 .
JuNix

Línea 1113: Línea 1206:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 1120: Línea 1215:

}}}
   ''neosergio''
}}}
 .
''neosergio''

Línea 1127: Línea 1224:

}}}
   mondini
}}}
 . mondini
Línea 1132: Línea 1229:

}}}
   JuNix
}}}
 .
JuNix

Línea 1137: Línea 1236:

}}}
   ''neosergio''
}}}
 .
''neosergio''

Línea 1142: Línea 1243:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 1147: Línea 1250:

}}}
   malev
}}}
 . malev
Línea 1152: Línea 1255:

}}}
   b4ck7r4ck
{{{
gracias por compartir avaldes  
}}}
   cfoch3
}}}
 . b4ck7r4ck

{{{
gracias por compartir avaldes
}}}
 . cfoch3
Línea 1162: Línea 1265:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 1169: Línea 1274:

}}}
   ''neosergio''
}}}
 .
''neosergio''

Línea 1174: Línea 1281:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 1181: Línea 1290:

}}}
   ''neosergio''
}}}
 .
''neosergio''

Línea 1186: Línea 1297:

}}}
   '''avaldes'''
}}}
 .
'''avaldes'''

Línea 1193: Línea 1306:

}}}
   ''neosergio''
{{{
gracias avaldes  
}}}
}}}
 .
''neosergio''


{{{
gracias avaldes
}}}

Introducción al Desarrollo de Aplicaciones con PyGTK

Expositor: Alejandro Valdes (avaldes)

Moderador: Sergio Infante Montero (neosergio)

Sabado 21 de Noviembre de 2009, 17:00 horas UTC

irc.gnome.org #gnome-hispano


  • neosergio

Bueno empezamos

Siendo las 17 horas UTC

Hoy 21 de Noviembre del 2009

daremos inicio a las charlas mensuales IRC de GNOME Hispano

http://es.gnome.org/Eventos/CharlasIRC/CharlaNoviembre2009

en esta oportunidad

nos hace el honor con su presencia, Alejandro Valdes

Para mayor referencia sobre Alejandro -> http://www.gnome.org/~avaldes/

quien nos ofrecera el tema: Introducción al Desarrollo de Aplicaciones con PyGTK

sin mas preambulo avaldes tienes la palabra
  • avaldes

ok neosergio

buenas a todos!

en primer lugar agradezco la invitacion de neosergio

para dar esta charla/taller

este taller lo he realizado varias veces y esta es la primera ves

que la realizo por IRC

espero que resulte bien

en el sitio http://es.gnome.org/Eventos/CharlasIRC/CharlaNoviembre2009

encontraran los recursos necesarios

para poder desarrollar los ejemplos

ademas de la presentacion

que les suguiero vayan visualizando

y ademas

varios videos

que muestran algunas cositas...

:D

bien,

el objetivo de la charla

es dar un vistazo al desarrollo de aplicaicones para GNOME

utilizando PyGTK

python + GTK

no es mi idea que terminemos unos expertos,

pero si que veamos lo interesante que puede resultar

y conveniente tambien

esta combinacion.

primero

algunos conceptos
  • jza

hola gnomers
  • avaldes

para quienes comienzan en el tema de la programacion

debemos tener claro el termino de GUI

podemos interactuar de varias formas con los ordenadores

- medianate linea de comandos, que seguramente muchos de los presentess son fanáticos.. :D

- y mediante un ambiente gráfico

esta segunda forma de interactuar con el ordenador

la realizamod mediante la interacción

con elementos como venatans, botones, menus, etc.

ya sea a través del ratón, teclado, etc..

la ejecución de nuestro programa va a depender

de lo que nosostros  hagamos con estos elementos (hacer click, pasar sobre una imagen, etc)

ahora bien,

estos elementos de nuestra interfaz grpafica

tienen un nombre...

ventanas, botones, barras de menu, etc.. son widget

y nosotros como usuarios, interactuamos con ellos

ahora bien, nace la pregunta de ¿como capturamos lo que el usuario realiza?

¿como sabe el programa que el usuario hizo un click sobre cierto boton?

bien, esos eventos, producen señales

una señal de un boton por ejemplo puede ser un Click

esa señal la podemos capturar y hacer algo cuando ocurra

y cuando ocurra, el programa deberá llamar a una función que realize algo

esa función son los callbacks.

entonces

tenemos que

las interfaces gráficas la componen widgets

que generan señales

y que esas señales al ser capturadas se manejas con los callbacks.

otro concepto importante

es el de la programación por eventos
  • mib_5ov559

se puede explicar mejor sonre los callbacks
  • avaldes

claro.

por ejemplo

tienes un programa que tiene simplemente un boton

cuando el programa este ejecutando

el usuario hará click sobre ese boton

cuando el programa "detecte" que ocurrió un click

llamará a la función (trozo de código del programa) corrspondiente.

y esa función realizará la acción que se necesita al hacer click sobre el boton

por ejemplo, cerrar el programa.
  • mib_5ov559

ok
  • avaldes

ok.
  • mib_5ov559

bueno aclaro mis dudas
  • avaldes

vale.

:D
  • mib_5ov559

 siempre es en programacion visual se utiliza los widgets
  • avaldes

la programacion por eventos.

la principal caracteristica deeste paradigma de programacion

es que el hilo de ejecución del programa

depende de los eventos que el usuario realize

vean el siguiente enlace como referencia http://es.wikipedia.org/wiki/Programaci%C3%B3n_dirigida_por_eventos

en general

un programa que funcione de esta forma

entrará a un loop

a la espera de la ocurrencia de los eventos.

y cuando ocurra tal eventos, se le pasa el control a la función callback correspondiente.

en la slide 6 de la prsentacion

pueden ver tal esquema

en primera orden
  • neosergio

presentacion y ejemplos : http://deb.utalca.cl/gnome-hispano2009.tar.bz2
  • avaldes

se inicia todo lo relacionado con la interfaz

y luego se ingresa al loop

a la espera de los eventos.

bien.

ahora que ya tenemos claros algunos conceptos

pasemos a ver algunas herramientas

útiles para el desarrollo de aplicaicones

el lenguaje de programación: en este caso python

si alguien de los presentes ya ha programado con python

sabrá las bondades que tiene el lenguaje

y para quienes nos gustan las cosas mas bien de desarrollo rápido

python es perfecto

para desarrollar prototipos

y en general

para el desarrollo rápido de aplicaciones (RAD)

vean el enlace de referencia: http://es.wikipedia.org/wiki/Desarrollo_r%C3%A1pido_de_aplicaciones

nuestra primera herramienta, python

pero necesitamos una libreria que nos permita crear

nuestros widgets

aqui aparece GTK

http://www.gtk.org/

que es la libreria que utiliza GNOME

para sus aplicaicones

GTK está escrito en C

pero nosotros vamos a desarrollar en python

bueno, para utilizar GTK con python

hacemos uso de pygtk

que es un binding de GTK para python

http://www.pygtk.org/

ahora bien

como hay bindings de GTK para python

tambien los hay para otros lenguajes

vean la slides 9

ya tenemos el lenguaje y la libreria gráfica
  • neosergio

presentacion y ejemplos : http://deb.utalca.cl/gnome-hispano2009.tar.bz2
  • avaldes

¿como podemos diseñar interfaces gráficas rápidamente y facilmente?

aqui aparece glade

que es un aistente para diseñar GUIs
  • marco

:)
  • avaldes

podemos hacer todo el layout

de nuestro programa

y sin código

y obtener una idea de como será nuestro programa

ideal para quienes desarrollan prototipos

y deben modificar el layout de un programa de manera rápida y sin tener que compilar

para obtenerlo.

glade, guarda información de la interfaz en archivos XML

los cuales pueden ser cargados en tiempo de ejecución del programa

http://deb.utalca.cl/ogv/glade.ogv

este video

muestra glade

es ls version 3.x

cuando inicia

nos pide seleccionar el formato del proyecto

luego explicare lo de gtkbuilder
  • neosergio

avaldes, una pregunta
  • avaldes

ok

neosergio, dale
  • neosergio

Pregunta de JuNix: ¿que son bindings ?
  • avaldes

ok

mencionamos mas atras que GTK esta escrito en C

y podemos hacer uso de el directamente.

en este caso

vamos a utilizar otro lenguaje.. python

que no puede acceder directamente a las librerias de C

que no puede acceder directamente a las librerias de GTK

para que puede hacerlo

se utilizan modulos

que en este caso para python

se llama pygtk

que nos permite, mediante python acceder a la GTK.

ok?

avaldes: no me quedo claro :-/
  • avaldes

Es una adaptación de una biblioteca para ser usada en un lenguaje de programación distinto de aquél en el que ha sido escrita.
  • R1chy

un puente o algo por el estilo
  • avaldes

algo asi.

JuNix: ok entendido :D

conexion :)
  • mib_bxdxns

es como un elnace no es cierto
  • avaldes

si no existieran estos binding, no podrias utilizar alguas librerias
  • famaya17

es un puente que conecta de una ciudad A - B en este caso de Python - C, :)
  • avaldes

JuNix, ok?

bien,

avaldes, ok gracias ;)
  • b4ck7r4ck

la rescritura de modulos y funciones en python?
  • avaldes

si están viendo el video de glade

veran que se divide en tres partes

a la izquierda, están los windget que podemos utilizar
  • neosergio

por favor intervenciones por interno, dejemos a avaldes continuar
  • mib_5ov559

la unica forma de dividir son los widget
  • avaldes

en el centro, el espacio de trabajo, donde vamos ir creando nuestra interfaz

y a la derecha, el arbol de widgets y propiedades

hay algunos widget

que nos permiten organizar a los demas

es el caso de los contenedores

podemos "meter" otros widget en su interior

e ir organizando toda la aplciacion.

ahora bien

ya sabemos como crear la interfaz de nustro programa... con glade.

pero como hacemos para mostrarla?

vamos a ver luego en los ejemplos

que nuestro programa, entre las lineas de codigo

que contedrá

hará referencia al archivo xml que generamos con glade

obtendra sus widgets y los mostrara.

la gran ventaja de hacerlo de esta forma

es que logramos separa la lógica del programa

de la apariencia o layout

esto es,

si eventualmente, modicicamos la organización de nuestra aplicacion con glade

no será necesario modiciar código

claro que

debemos respetar los nombres de los widgets y no eliminar ninguno.

con ejemplos esto les deberia quedar mas claro..

gtkbuilder

gtkbuilder, nos permite hacer practicamente lo mismo que libglade

sin embargo libglade tiene un problema.

libglade, al no ser un proyecto del core de GNOME

no va de la mano con la versiones de GTK

por lo que eventualmente
  • cfoch3

una pregunta... ¿qué es libglade?
  • avaldes

se podria liberar una version de GTK con algun widget nuevo por ejemplo

y libglade no tenga esos cambios.

como gtkbuilder es parte de GTK

cualquier nuevo release de GTK contemplará ya los cambios

en gtkbuilder.

cfoch3, libglade es una libreria

que nos permite leer los archivos que generamos con glade.

y como podemos leer los archivos glade, podemos tambien acceder a los widget.

por el momento, existe una comando gtk-builder-convert

que es para convertir archivos de libglade a gtkbuilder.
  • fmaq

y en todo caso cual es la situación de gazpcho, otra herramienta para desarrollar guis con gtk?

oops, gazpacho
  • avaldes

ahora, con este tema de gtkbuilder, seguro que hay mucho trabajo que realizar en las aplicaciones que utilizan libglade

.

fmaq, no he utilizado gazpacho.
  • adrian0

:-)
  • avaldes

glade, como se ven en el video,

nos permite seleccionar si el proyecto será guardado con soporte para libglade o gtkbuilder.
  • marvil07

avaldes: hay un paquete debian para gtkbuilder?
  • avaldes

viene dentro de GTK

python-gtk2

bien

resumen.

llevamos la siguientes herramientas:

- lenguaje: python

- libreria grafica: gtk

- asistente de diseño: glade

- carga dinámica de interfaz (libglade o gtkbuilder)

ahora veremos otra herramienta

devhelp

http://deb.utalca.cl/ogv/devhelp.ogv

cuando desarrollamos

necesitamos tener acceso a documentación de las librerias

de las APIs.

devhelp es un programa que nos permite navegar

en la documentación

nos permite buscar

y en el caso de la documentacion

de GTK

 y pygtk
  • user001

una consulta, devhelp puede variar si lo uso en xfce por ejemplo?
  • avaldes

nos muestra todo lo que debemos saber respecto a los widgets, sus señales y callbacks
  • adrian0

habalando de API ¿que es exactamente una API?
  • avaldes

en el video vemos

como buscamos la definicion del widget button

adrian0, l

adrian0, una API en general es la definicón de la funciones que nos proveen cierta libreria

si quieres utilizar la libreria de nombre libreriaX

existirá una API (interfaz de programacion de aplicaicion)

que nos indicará como utilizar sus funciones..

adrian0, ok?
  • adrian0

ok
  • avaldes

entonces...

con devhelp
  • b4ck7r4ck

gtk==api?
  • pagondel

http://es.wikipedia.org/wiki/API_%28inform%C3%A1tica%29 8)!
  • avaldes

accedemos a la documentacion con devhelp.

un elemento importante

en GNOME por lo menos

es el desarrollo de aplicaicones que mantengan cierto orden

y coherencia

que la distribución de los botones, el tamaño de los widgets, etc..

no difieran entre aplicaicones que se usan en GNOME

para eso,

existe HIG

human interface guidelines

que esun proyecto que recomeinda como deben crearse nustras aplicaicones

en terminos de usabilidad.

ahora bien,

donde escribimos nuestros programas?

eso es al gusto de cada uno

algunos utilziaran VI
  • joaquindlz

http://library.gnome.org/devel/hig-book/stable/
  • avaldes

otros algunas herramienats mas completas

eso es a libre elección.

geany es un editor muy potente

que este taller vamos a utilzar.

http://deb.utalca.cl/ogv/geany.ogv

bien

ya esta bueno de teoria.

vamos a los ejemplos.

voy a suponer que instalaros todo lo necesarios

Paquetes:

- glade

- devhelp

- python-gtk2-doc

- geany

- python

- python-gtk2

- python-glade2

- python-gconf

- python-pygraphviz

- python-notify

- python-gobject

- python-vte

- python-gtkmozembed



el primer ejemplo

http://deb.utalca.cl/ogv/python.ogv

vamos a crear un pequeño programa

en la terminal

interactuando con el interprete de python.

entonces

habran una terminal

y ejecuten

python

de esa manera podremos ejecutar comando inmediatamente con python

la linea 1

import gtk

llama a la libreria GTK

para poder hacer uso de ella.

similar al #include en C

como ven

el crear una ventana es muy rápido

window = gtk.Window()

luego a ese widget podemos

configuarar algunas propiedades

como son el tamaño por defecto

el titulo

la posicion

tambien creamos un boton

con una etiqueta (texto que ira dentro del boton)
  • cfoch3

si quiero una imagen en vez de texto?
  • avaldes

y luego "metemos" el boton dentro de la window

mostramos todos los widgets

y luego entramos al loop

gtk.main()

si ejecutan ese programa

les aparecera

una ventana con el boton

si hacen click en el

nada sucede

porque?

por que no hemos capturado la señal click del boton.
  • b4ck7r4ck

no hay un evento programado
  • avaldes

exacto.
  • fmaq

eso es equivalente al ejemplo free1.py ;)
  • mondini

¿no hay un archivo del fuente en vez de un video?
  • avaldes

veamo el sigueinte ejemplo

http://deb.utalca.cl/ogv/free1.ogv

mondini, http://es.gnome.org/Eventos/CharlasIRC/CharlaNoviembre2009
  • b4ck7r4ck

fuentes : http://deb.utalca.cl/gnome-hispano2009.tar.bz2
  • avaldes

ahi estan
  • mondini

gracias
  • avaldes

bien
  • mondini

disculpen, pero no me daba la conexion
  • avaldes

el siguiente ejemplo (free1.py)

realiza exactamente lo mismo

pero ahora ejecutamos el script

con egany

con geany presionamos F5

para ejecutar

la graciade geany

es que nos levanta una ventana para depuracion

bien

al siguiente ejemplo

donde vamos a capturar las señales

http://deb.utalca.cl/ogv/free2.ogv

pongan atencion

a las linesa 48 a 50

en esas lineas

indicamos que

para el widget window

cuando ocurra el evento "delete-event", es decir

cierren la ventana

llama a la funcion callback

on_delete_event

si van a la linea 10

veran la funcion

ahora bien

que parametros podemos pasar a la funcion de retrollamada (callback)

lo podemos ver en devhelp

buscamos el widget

y la funcion asociada a cada señal.

si lo corremos

vereos que cuando se presiona el boton "Freedon :D"

aparece un texto en la terminal

claro,

hemos capturado la señal clicked y llamado a la funcion correspondiente.

vamos al ejemplo con libglade

free3.py

(espero que vayan de la mano conmigo viendo los codigos..:D)

en este ejemplo

importamos el modulo

que nos permitira usar libglade

ver linea 2.

en la linea 21

vemos como llamamos al archivo xml

que contiene la defincion de la GUI

free3.glade

luego obtenemos los widgets

glade_file.get_widget ("nombre_del_widget")

y luego "conectamos" las señales.

pueden ver la diferencia

que en los ejemplos anteriores

creamos "a mano"los widget

ahora no

alvaldes: el codigo queda reducido :)
  • avaldes

pueden ver entonces

que podemos modificar

la interfaz

y no sería necesario modificar el codigo

a menos que agreguemos otros widgets

o elimines alguno
  • joaquindlz

JuNix: la lógica queda aparte :)
  • avaldes

o le camiemos nombre.

joaquindlz, asi es.

JuNix, :D

avaldes: que interesante, gracias :)
  • avaldes

el ejmplo free4.py

introduce el tema de las clases

para quienes les gusta la programacion orientada a objetos.

estimados amigos

por tiempo.. no puedo seguir

pero en la ultima slide

de la presentacion

hay informacion de ls lista de correo

¿ como se utiliza el operador self cuando es orientado a objetos ?
  • avaldes

donde pueden suscribirse

y podemos ir comentando los ejemplos
  • neosergio

http://mail.gnome.org/mailman/listinfo/gnome-hispano-list - lista Gnome Hispano

http://mail.gnome.org/mailman/listinfo/gnome-cl-list - lista Gnome Chile
  • mondini

avaldes: muy bueno, muchas gracias

avaldes: muchas gracias, la charla estuvo muy bien explicada, felicitaciones y muchas gracias ;) :D
  • neosergio

avaldes excelente charla
  • avaldes

amigos, lamentono disponer de mas tiempo.
  • malev

avaldes, me gusto mucho la charla! muy buena introduccion!
  • b4ck7r4ck

gracias por compartir avaldes
  • cfoch3

gracias
  • avaldes

gracias por su atencion y espero haberles aportado en algo.

bien amigos...
  • neosergio

El log de la charla estara disponible en : http://es.gnome.org/Eventos/CharlasIRC/CharlaNoviembre2009
  • avaldes

les dejo la invitacion a la lista

podriamos hacer una segunda parte sin problemas... ya veremoscon neosergio .. :D
  • neosergio

muchas gracias avaldes y esperamos contar contigo para otra charla en los meses proximos
  • avaldes

buen amisgos.. los dejo...

adios!
  • neosergio

gracias avaldes

Eventos/CharlasIRC/CharlaNoviembre2009/Log_CharlaIRCNoviembre2009 (última edición 2010-01-07 07:48:13 efectuada por SergioInfante)