Está en la página 1de 31

Tema 5 Diseo con Glade n

Curso de Python Avanzado Juan Pedro Bol Puente var


Instituto Andaluz de Astrof sica

Mayo de 2011
Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n Mayo de 2011 1 / 24

Indice

1 2 3

Introduccin o Un paseo por Glade Proyecto

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

2 / 24

Introduccin o

Indice

1 2 3

Introduccin o Un paseo por Glade Proyecto

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

3 / 24

Introduccin o

Yo tambin quiero botones! e O sea que...


Le damos botones a los usuarios... Y nosotros no paramos de picar cdigo! o

Esto no es justo!

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

4 / 24

Introduccin o

... y usuarios Solucin: o Editores de interfaces grcas! a


Glade: editor de interfaces grcas de GTK a Editamos la interfaz visualmente ... La guardamos en un cherito XML ... Luego cargamos la interfaz ... Conectamos las seales automticamente ... n a
Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n Mayo de 2011 5 / 24

Introduccin o

El cherito de Glade...
Un cherito editador por Glade

<? xml version = " 1.0 " encoding = " UTF -8 " standalone = " no " ? > <! DOCTYPE glade - interface SYSTEM " glade -2.0. dtd " > <! -- Generated with glade3 3.4.0 on Tue Nov 20 14 :05:37 2 < glade - interface > < widget class = " GtkWindow " id = " window1 " > < property name = " events " > G D K _ P O I N T E R _ M O T I O N _ M A S K | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | G DK _B U TT O N _ R E L E A S E _ M A S K </ property > < child > < placeholder / > </ child > </ widget > </ glade - interface >

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

6 / 24

Introduccin o

Ventajas

Todo son ventajas!


Podemos cambiar el diseo sin cambiar el cdigo n o Podemos centrarnos en el diseo n Nuestros usuarios nos lo agradecern! a Glade ayuda por defecto a seguir las Gnome Human Interface Guidelines

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

7 / 24

Introduccin o

Ventajas

Todo son ventajas!

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

7 / 24

Introduccin o

Gnome Human Interface Guidelines

El diseo es importante! n
Design for People Dont Limit Your User Base Match Between Application Real World Make Your Application Consistent Keep the User Informed Keep It Simple and Pretty Put the User in Control Forgive the User Provide Direct Manipulation
Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n Mayo de 2011 8 / 24

Introduccin o

Gnome Human Interface Guidelines

El diseo es importante! n

Figura: Da recomendaciones estil sticas concretas


Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n Mayo de 2011 8 / 24

Introduccin o

Gnome Human Interface Guidelines

El diseo es importante! n

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

8 / 24

Un paseo por Glade

Indice

1 2 3

Introduccin o Un paseo por Glade Proyecto

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

9 / 24

Un paseo por Glade

Nada ms abrir Glade ... a

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

10 / 24

Un paseo por Glade

Estructura del editor ...

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

11 / 24

Un paseo por Glade

Cargando la interfaz en el cdigo o


Cmo cargamos la interfaz en el cdigo? o o
Antao ... n Usbamos libglade a
http://developer.gnome.org/libglade/stable/

Sigue siendo mantenida por GNOME Ahora ... GTK nos da todo lo necesario! Nos ahorramos dependencias
Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n Mayo de 2011 12 / 24

Un paseo por Glade

Cargando la interfaz en el cdigo ... o La clase gtk.Builder


add from file (fname) Carga el chero fname connect signals (dic or obj) Conecta los manejadores con:
Mtodos con ese nombre de un objeto e Funciones especicadas en un diccionario

get object (objname) Devuelve el objeto con nombre objname del chero ...

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

13 / 24

Un paseo por Glade

Conectando seales con un botn ... n o

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

14 / 24

Un paseo por Glade

Nuestra primera aplicacin ... o


import gtk import util class TutorialApp ( object ): def __init__ ( self , *a , ** k ): super ( TutorialApp , self ). __init__ (..
b = gtk . Builder () b . add_from_file ( " tutorial . glade " ) b . connect_signals ( self ) self . window = b . get_object ( " window " ) self . window . show ()
Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n Mayo de 2011 15 / 24

Un paseo por Glade

Nuestra primera aplicacin ... o


def handle_clicked ( self , obj ):
util . show_message_dialog ( " Mmmmmmm .... " , " Que gustito ! " )

def handle_window_destroy ( self , obj ):


gtk . main_quit ()

if __name__ == " __main__ " :


app = TutorialApp () gtk . main ()

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

16 / 24

Un paseo por Glade

Vamos creando cajas y rellenando huecos

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

17 / 24

Un paseo por Glade

Vamos creando cajas y rellenando huecos

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

17 / 24

Un paseo por Glade

Vamos creando cajas y rellenando huecos

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

17 / 24

Un paseo por Glade

Vamos creando cajas y rellenando huecos

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

17 / 24

Un paseo por Glade

Vamos creando cajas y rellenando huecos

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

17 / 24

Un paseo por Glade

Las propiedades importantes del layout


En las cajas ... homogeneous Si es TRUE los huecos tendrn el a mismo espacio dedicado jo En los widgets de dentro ... fill Rellenar el hueco extra disponible expand Solicitar todo el espacio posible

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

18 / 24

Un paseo por Glade

Tambin podemos editar mens ... e u

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

19 / 24

Proyecto

Indice

1 2 3

Introduccin o Un paseo por Glade Proyecto

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

20 / 24

Proyecto

Vamos a hacer algo ms chulo... a Vamos a programar gfits


Aplicacin para visualizar cheros FITS o Que permita ver las imagines Mezclar cubos como imgenes RGB a Ver las tablas que contiene

Dedicaremos el resto del tema a estudiar su cdigo e intentar mejorarlo ... o


Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n Mayo de 2011 21 / 24

Proyecto

Ta d! a

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

22 / 24

Proyecto

Recursos adicionales
Gnome Human Interface Guidelines The GNOME Team http://developer.gnome.org/hig-book/ Glade Tutorial Micah Carrick http://www.micahcarrick.com/ gtk-glade-tutorial-part-1.html Python code to convert FITS les to images Min-Su Shin http://www.astro.lsa.umich.edu/~msshin/ science/code/Python_fits_image/
Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n Mayo de 2011 23 / 24

Proyecto

Preguntas? Muchas gracias por su atencin. o

Juan Pedro Bol var Puente (Instituto Andaluz de Astrof Tema 5 Diseo con Glade sica) n

Mayo de 2011

24 / 24

También podría gustarte