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