Realidad Aumentada 02 interfaz t apir

10
Prueba de Interfaz de usuario para el Proyecto de Realidad Aumentada Tapir Servicio Social Agustín Hernandez Vazquez Software Glade Python Prueba

Transcript of Realidad Aumentada 02 interfaz t apir

Page 1: Realidad Aumentada 02 interfaz t apir

Prueba de Interfaz de usuario para el Proyecto de Realidad Aumentada Tapir

Servicio Social

Agustín Hernandez Vazquez

Software

Glade

Python

Prueba

Page 2: Realidad Aumentada 02 interfaz t apir

Software

● Glade 3.2.2● Python 2.6.4

Con Glade haremos la ventana y con Python los eventos.

Glade

Para crear una aplicación en el panel izquierdo llamado Paleta en el sub menú Niveles superiores damos click en ventana y después damos click en el área de trabajo para que aparezca un frame.

Page 3: Realidad Aumentada 02 interfaz t apir

Ahora incluimos las tablas o contenedores para comenzar a poner los botones y labels.en el Paleta+Contenedores+caja vertical (en este caso) damos un click y después otro click dentro del frame, glade nos pregunta de cuantos elementos elegimos los que deseen.

insertamos una barra de menú la cual esta en paleta+contenedores+barra de menú en este caso solo nos interesa el menú ayuda, borramos los otros menús seleccionándolos+suprimir

ahora insertamos el botón el cual esta en paleta+control y exhibición+botón

Page 4: Realidad Aumentada 02 interfaz t apir

.

insertamos una etiqueta(label) se encuentra en paleta+control y exhibición+label, debemos elegir el label simple no el de botón enlace

Guardamos pero no cerramos glade.

Page 5: Realidad Aumentada 02 interfaz t apir

Python

Ahora creamos un archivo vacío con cualquier editor de texto y comenzamos a programar la interfaz.

Aquí esta el código con comentarios para explicar su funcionamiento

#! /usr/bin/env python# -*- coding: UTF-8 -*-# Importamos los módulos necesarios

from os import popen

try: import pygtk pygtk.require('2.0') # Intenta usar la versión2except: # Algunas distribuciones vienen con GTK2, pero no con pyGTK (o pyGTKv2) pass

try: import gtk import gtk.gladeexcept: print "You need to install pyGTK or GTKv2 or set your PYTHONPATH correctly" sys.exit(1)

# Creamos una clase que almacena la información del programa (después se usara)class Info: "Store the program information" name = "TApir" version = "0.1" copyright = "Copyright © 2010 CICAINTE. \\nCopyright © 2010 GSC ASOCIADOS." authors = ["Agustin Hernandez Vazquez <[email protected]>"] #website = "http://" description = "Visualiza objetos derivados de la libreria \GLUT (el visualizar archivos VRML no esta disponible para esta version del software)."# Esto lo saque de internet (licencia GNU) license = "This program is free software; you can redistribute it and/or \modify it under the terms of the GNU General Public License as published by \the Free Software Foundation; either version 2 of the License, or (at your \option) any later version. \n\nThis program is distributed in the hope that \it will be useful, but WITHOUT ANY WARRANTY; without even the implied \warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. \

Page 6: Realidad Aumentada 02 interfaz t apir

See the GNU General Public License for more details. \n\nYou should have \received a copy of the GNU General Public License along with this program; \if not, write to the Free Software Foundation, Inc., 51 Franklin Street, \Fifth Floor, Boston, MA 02110-1301, USA."

# Interfaz gráfica (gtk-glade), Clase para el Loop principal (de la GUI)class MainGui: "GTK/Glade User interface. This is a pyGTK window" def __init__(self): # Le indicamos al programa que archivo XML de glade usar self.widgets = gtk.glade.XML("interfaceT.glade")

# se definen las signals signals = { "on_button1_clicked" : self.on_button1_clicked, "on_imagemenuitem10_activate" : self.on_imagemenuitem10_activate, "gtk_main_quit" : gtk.main_quit } # y se autoconectan las signals. self.widgets.signal_autoconnect(signals)

# Ventana About (conocida como Acerca de). def about_info(self, data=None): "Display the About dialog " about = gtk.AboutDialog() about.set_name(Info.name) about.set_version(Info.version) about.set_comments(Info.description) about.set_copyright(Info.copyright) # Esto es para la pagina del programa o alguna refencia del mismo en la red #def openHomePage(widget,url,url2): # Para abrir el sitio # import webbrowser # webbrowser.open_new(url)

#gtk.about_dialog_set_url_hook(openHomePage,Info.website) #about.set_website(Info.website) about.set_authors(Info.authors) about.set_license(Info.license) about.set_wrap_license(True) # Adapta el texto a la ventana about.run() about.destroy()# Ahora declaramos las acciones a realizar (por menús, botones, etc.):

#

# Definimos la ventana about (help > About)

def on_imagemenuitem10_activate(self, widget): self.about_info()

Page 7: Realidad Aumentada 02 interfaz t apir

# Definimos las acciones a realizar al apretar el botón def on_button1_clicked(self, widget):# Esta es la llamada al archivo popen("sh 11.sh")

if __name__== "__main__": MainGui() gtk.main()

Ese fue el código en python para mandar llamar un ejemplo de RA.

Ahora a conectar glade con python en el panel derecho llamado inspector ubicamos el menubar1 y desplegamos lo que contiene hasta encontrar el objeto imagemenuitem10, una vez que lo ubicamos vamos al panel de abajo para ver sus propiedades y en la pestaña señales activamos el objeto con active y como manipulador le damos on_imagemenuitem10_activate

verificamos que en el código python tenga ese mismo nombre en caso de no ser así lo cambiamos.

Page 8: Realidad Aumentada 02 interfaz t apir

Hacemos lo mismo para el botón pero ahora con el evento clicked

ahora debemos ejecutar el archivo python

Page 9: Realidad Aumentada 02 interfaz t apir

Prueba

para ejecutarlo se deben tener >

● archivo .glade● archivo .py● archivo compilado del programa● archivo .sh

todos en la mismo carpeta y al mismo nivel

ahora desde una terminal cd Escritorio/tapir/bin && ls && python interfaceT.py

Page 10: Realidad Aumentada 02 interfaz t apir

nos muestra