Upload
alejandro-valdes-jimenez
View
99
Download
0
Embed Size (px)
Citation preview
Agenda
Algunos conceptos
Herramientas
Ejemplos
Mas informacion ...
Algunos conceptos
GUI
• Graphical User Interface.
• Permite interaccion con un dispositivo a travesde ventanas, botones, etc.
• Acciones dependen de la interaccion con estosobjetos, atraves del teclado, raton u otroperiferico.
GUI
• Widget.• Nombre generico para botones, ventanas, barras de
menu, etc.• Usuario interactua con ellos.• Pueden contener otros widgets.
• Signals.• Un evento produce una senal (clicked, edited, etc).
• Callbacks.• Funcion llamada por una senal.
Programacion por eventos
• Linea de ejecucion del programa depende de loseventos que ocurran (presionar un boton, cerraruna ventana, etc).
• GTK funciona de esta manera.• Loop principal Gtk.main() a la espera de algun
evento y pasar control a alguna funcion (callback).• Fin del loop con Gtk.main quit()
Programacion por eventos
Herramientas
GTK - GIMP Toolkit
• Toolkit multiplataforma para crear interfacesgraficas de usuario.
• Ofrece un completo conjunto de Widgets.
Python
• VHLL (very high-level programming language).
• Interpretado y OO.
• Muy facil de aprender y usar.
• Para impacientes ... :)
Glade
• Asistente para diseno de GUIs.
• Almacena informacion en archivos XML que escargada luego en tiempo de ejecucion.
• Importante: Separacion de la logica y de lapresentacion (layout) de un programa.
• Es posible modificar el layout sin necesidad demodificar codigo.
Devhelp
• Programa de ayuda para desarrolladores.
• Informacion de metodos, propiedades, senales,etc...
• Es tu AMIGO ...
HIG
• Human Interface Guidelines.
• Proyecto de usabilidad para GNOME.• ”Recomienda” como crear interfaces, y asi:
• Los usuarios debieran aprender a usar de formamas rapida la aplicacion.
• La aplicacion sea atractiva.• La aplicacion sea accesible para todos• La aplicacion se vea bien con los cambios de temas
de escritorio• etc.
Ejemplos
Mas informacion ...
• http://www.gnome.org/
• http://developer.gnome.org/
• http://mail.gnome.org/mailman/listinfo/gnome-cl-list