SlideShare uma empresa Scribd logo
1 de 10
Baixar para ler offline
Prueba de Interfaz de usuario para el Proyecto de Realidad
Aumentada Tapir

Servicio Social

Agustín Hernandez Vazquez




                                                  Software

                                                    Glade

                                                   Python

                                                   Prueba
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.
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
.




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.
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ón2
except:
   # Algunas distribuciones vienen con GTK2, pero no con pyGTK (o pyGTKv2)
   pass

try:
   import gtk
   import gtk.glade
except:
   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 <ofstoneage@gmail.com>"]
   #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. nnThis 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.
See the GNU General Public License for more details. nnYou 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()
# 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.
Hacemos lo mismo para el botón pero ahora con el evento clicked




ahora debemos ejecutar el archivo python
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
nos muestra

Mais conteúdo relacionado

Mais procurados (20)

TEMA DEL 24 AL 37
TEMA DEL 24 AL 37TEMA DEL 24 AL 37
TEMA DEL 24 AL 37
 
In 22
In 22In 22
In 22
 
Manejo de Eventos en java
Manejo de Eventos en javaManejo de Eventos en java
Manejo de Eventos en java
 
Java construye las interfaces gráficas del usuario mediante awt
Java construye las interfaces gráficas del usuario mediante awtJava construye las interfaces gráficas del usuario mediante awt
Java construye las interfaces gráficas del usuario mediante awt
 
Control de eventos en gui
Control de eventos en guiControl de eventos en gui
Control de eventos en gui
 
6.eventos y swing
6.eventos y swing6.eventos y swing
6.eventos y swing
 
Guia rompecabezas
Guia  rompecabezasGuia  rompecabezas
Guia rompecabezas
 
Informe tecnico unidad 5 tap
Informe tecnico unidad 5 tapInforme tecnico unidad 5 tap
Informe tecnico unidad 5 tap
 
6.eventos y swing
6.eventos y swing6.eventos y swing
6.eventos y swing
 
Eventos
EventosEventos
Eventos
 
LECTURA DE ARCHIVOS
LECTURA DE ARCHIVOS LECTURA DE ARCHIVOS
LECTURA DE ARCHIVOS
 
Guia para e insertar codigo en mi proyecto
Guia  para e insertar codigo en mi  proyectoGuia  para e insertar codigo en mi  proyecto
Guia para e insertar codigo en mi proyecto
 
In 21
In 21In 21
In 21
 
Programación III (Java) - 07 Eventos
Programación III (Java) - 07 EventosProgramación III (Java) - 07 Eventos
Programación III (Java) - 07 Eventos
 
Manejo de eventos
Manejo de eventosManejo de eventos
Manejo de eventos
 
Sesion12-Componentes AWT
Sesion12-Componentes AWTSesion12-Componentes AWT
Sesion12-Componentes AWT
 
In 11
In 11In 11
In 11
 
Java Gestion Eventos
Java Gestion EventosJava Gestion Eventos
Java Gestion Eventos
 
Informe Tecnico Topicos Avanzados de Programacion
 Informe Tecnico Topicos Avanzados de Programacion Informe Tecnico Topicos Avanzados de Programacion
Informe Tecnico Topicos Avanzados de Programacion
 
Java Listeners
Java ListenersJava Listeners
Java Listeners
 

Destaque

Realidad Aumentada 01 documentacion tapir
Realidad Aumentada 01 documentacion tapirRealidad Aumentada 01 documentacion tapir
Realidad Aumentada 01 documentacion tapirAgustín Hv
 
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TAp...
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TAp...Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TAp...
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TAp...Agustín Hv
 
Reconocimiento Facial, para Registro de Asistencia
Reconocimiento Facial, para Registro de AsistenciaReconocimiento Facial, para Registro de Asistencia
Reconocimiento Facial, para Registro de AsistenciaAlfredo Carrion Ventura
 
Proyecto de Grado Realidad Aumentada
Proyecto de Grado Realidad AumentadaProyecto de Grado Realidad Aumentada
Proyecto de Grado Realidad AumentadaPato Lara
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome EconomyHelge Tennø
 

Destaque (8)

Realidad Aumentada 01 documentacion tapir
Realidad Aumentada 01 documentacion tapirRealidad Aumentada 01 documentacion tapir
Realidad Aumentada 01 documentacion tapir
 
Build ar
Build arBuild ar
Build ar
 
Reconocimiento de Rostros
Reconocimiento de RostrosReconocimiento de Rostros
Reconocimiento de Rostros
 
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TAp...
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TAp...Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TAp...
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TAp...
 
Reconocimiento Facial, para Registro de Asistencia
Reconocimiento Facial, para Registro de AsistenciaReconocimiento Facial, para Registro de Asistencia
Reconocimiento Facial, para Registro de Asistencia
 
Iniciación a ARToolKit
Iniciación a ARToolKitIniciación a ARToolKit
Iniciación a ARToolKit
 
Proyecto de Grado Realidad Aumentada
Proyecto de Grado Realidad AumentadaProyecto de Grado Realidad Aumentada
Proyecto de Grado Realidad Aumentada
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome Economy
 

Semelhante a Realidad Aumentada 02 interfaz t apir

Interfaces de usuario con PyGTK
Interfaces de usuario con PyGTKInterfaces de usuario con PyGTK
Interfaces de usuario con PyGTKFco Javier Lucena
 
Taller Python Gtk Glade
Taller Python Gtk GladeTaller Python Gtk Glade
Taller Python Gtk Gladecampus party
 
De los temas de android (introduccion-10)
De los temas de android (introduccion-10)De los temas de android (introduccion-10)
De los temas de android (introduccion-10)equipotresamp
 
Unidad 5 Programación de dispositivos moviles
Unidad 5 Programación de dispositivos movilesUnidad 5 Programación de dispositivos moviles
Unidad 5 Programación de dispositivos movileskabis_yadira
 
Adelanto de los temas de android (introduccion-10)
Adelanto de los temas de android (introduccion-10)Adelanto de los temas de android (introduccion-10)
Adelanto de los temas de android (introduccion-10)equipotresamp
 
Trucos windows-7
Trucos windows-7Trucos windows-7
Trucos windows-7Nestunga
 
Manual de usuario Guillen Jenny
Manual de usuario Guillen JennyManual de usuario Guillen Jenny
Manual de usuario Guillen JennyJennylu88
 
Tutorial Nro 1 de Desarrollo de Aplicaciones Móviles con Android
Tutorial Nro 1 de Desarrollo de Aplicaciones Móviles con AndroidTutorial Nro 1 de Desarrollo de Aplicaciones Móviles con Android
Tutorial Nro 1 de Desarrollo de Aplicaciones Móviles con AndroidLuis Ernesto Castillo Alfaro
 
sistema operativo grafico de windows XP
sistema operativo grafico de windows XPsistema operativo grafico de windows XP
sistema operativo grafico de windows XPguest162190
 
Trabajo tic. xabi y jesús
Trabajo tic. xabi y jesúsTrabajo tic. xabi y jesús
Trabajo tic. xabi y jesúsb2bticjdomine
 
Tutorial 1 android
Tutorial 1 androidTutorial 1 android
Tutorial 1 androidlibidinosa
 
Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#Vicente Gerardo Guzman Lucio
 
Mini Tutorial De Matlab
Mini Tutorial De MatlabMini Tutorial De Matlab
Mini Tutorial De Matlabguestdb8ea2b
 
Sg t2 practicas_eliminar_malware
Sg t2 practicas_eliminar_malwareSg t2 practicas_eliminar_malware
Sg t2 practicas_eliminar_malwaregarciadebora
 
Ejemplos de pseudocódigo
Ejemplos de pseudocódigoEjemplos de pseudocódigo
Ejemplos de pseudocódigoLiliana Nieto
 
Crear un portable con 7z
Crear un portable con 7zCrear un portable con 7z
Crear un portable con 7zivanaragon93
 

Semelhante a Realidad Aumentada 02 interfaz t apir (20)

Interfaces de usuario con PyGTK
Interfaces de usuario con PyGTKInterfaces de usuario con PyGTK
Interfaces de usuario con PyGTK
 
Clases de Programación Android
Clases de Programación AndroidClases de Programación Android
Clases de Programación Android
 
Programa2 eclipse
Programa2 eclipsePrograma2 eclipse
Programa2 eclipse
 
Programa2
Programa2 Programa2
Programa2
 
Programa 2
Programa 2Programa 2
Programa 2
 
Taller Python Gtk Glade
Taller Python Gtk GladeTaller Python Gtk Glade
Taller Python Gtk Glade
 
De los temas de android (introduccion-10)
De los temas de android (introduccion-10)De los temas de android (introduccion-10)
De los temas de android (introduccion-10)
 
Unidad 5 Programación de dispositivos moviles
Unidad 5 Programación de dispositivos movilesUnidad 5 Programación de dispositivos moviles
Unidad 5 Programación de dispositivos moviles
 
Adelanto de los temas de android (introduccion-10)
Adelanto de los temas de android (introduccion-10)Adelanto de los temas de android (introduccion-10)
Adelanto de los temas de android (introduccion-10)
 
Trucos windows-7
Trucos windows-7Trucos windows-7
Trucos windows-7
 
Manual de usuario Guillen Jenny
Manual de usuario Guillen JennyManual de usuario Guillen Jenny
Manual de usuario Guillen Jenny
 
Tutorial Nro 1 de Desarrollo de Aplicaciones Móviles con Android
Tutorial Nro 1 de Desarrollo de Aplicaciones Móviles con AndroidTutorial Nro 1 de Desarrollo de Aplicaciones Móviles con Android
Tutorial Nro 1 de Desarrollo de Aplicaciones Móviles con Android
 
sistema operativo grafico de windows XP
sistema operativo grafico de windows XPsistema operativo grafico de windows XP
sistema operativo grafico de windows XP
 
Trabajo tic. xabi y jesús
Trabajo tic. xabi y jesúsTrabajo tic. xabi y jesús
Trabajo tic. xabi y jesús
 
Tutorial 1 android
Tutorial 1 androidTutorial 1 android
Tutorial 1 android
 
Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#
 
Mini Tutorial De Matlab
Mini Tutorial De MatlabMini Tutorial De Matlab
Mini Tutorial De Matlab
 
Sg t2 practicas_eliminar_malware
Sg t2 practicas_eliminar_malwareSg t2 practicas_eliminar_malware
Sg t2 practicas_eliminar_malware
 
Ejemplos de pseudocódigo
Ejemplos de pseudocódigoEjemplos de pseudocódigo
Ejemplos de pseudocódigo
 
Crear un portable con 7z
Crear un portable con 7zCrear un portable con 7z
Crear un portable con 7z
 

Realidad Aumentada 02 interfaz t apir

  • 1. Prueba de Interfaz de usuario para el Proyecto de Realidad Aumentada Tapir Servicio Social Agustín Hernandez Vazquez Software Glade Python Prueba
  • 2. 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.
  • 3. 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
  • 4. . 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.
  • 5. 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ón2 except: # Algunas distribuciones vienen con GTK2, pero no con pyGTK (o pyGTKv2) pass try: import gtk import gtk.glade except: 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 <ofstoneage@gmail.com>"] #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. nnThis 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.
  • 6. See the GNU General Public License for more details. nnYou 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()
  • 7. # 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.
  • 8. Hacemos lo mismo para el botón pero ahora con el evento clicked ahora debemos ejecutar el archivo python
  • 9. 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