[Olpc-uruguay] Consulta, creación de Activity

Flavio Danesse fdanesse en gmail.com
Lun Ene 16 09:26:41 EST 2012


Hola.

Bueno, yo nunca he usado glade, siempre escribo todo en gedit o nano, de
modo que no se como se trabaja en glade ni como se cargan sus archivos en
el programa, pero te oriento un poco sobre lo que necesita sugar para
funcionar:

*La ventana principal de sugar es una ventana gtk que hereda de
sugar.activity.activity.Activity, así que tu ventana tiene que ser así:*

from sugar.activity.activity import Activity

class AulaVirtual(Activity):
    def __init__(self, handle):
        Activity.__init__(self, handle)

*Ahora bien, el contenido de esa ventana, se agrega con:*

        self.set_canvas(widgetcontenedor)

De modo que tu actividad, debiera implementar un contenedor que no sea una
ventana para poder meterlo en el canvas de la ventana de sugar. Como cargas
todo eso, no se :P, pero al menos acá te indico donde debe ir.

Para cargar los archivos, indicando el path correcto donde se encuentra, lo
mejor es utilizar __file__ del ejecutable base de la actividad, lo cual te
da la dirección de sí mismo, es decir, si en el paquete de tu actividad
tienes un directorio llamado "interfaz", donde está toda la interfaz
gráfica de tu aplicación, en el archivo que hereda de "activity", puede
indicar el path así:

DIRECTORIO_BASE= os.path.dirname(__file__) # devuelve el path de este
archivo que se está ejecutando
DIRECTORIO_INTERFAZ= os.path.join(DIRECTORIO_BASE, "interfaz")

De esta forma, te aseguras que el path siempre será correcto sin importar
la localización del paquete de tu programa.





El 16 de enero de 2012 12:01, Alvaro Arias <aarias1978 en gmail.com> escribió:

> Hola Pablo, antes que nada muchas gracias por contestar.
>
> Realizo los import:
>
>     import pygtk
>     pygtk.require('2.0')
>     import gtk
>     import gtk.glade
>
> Luego relaciono el archivo Glade:
> def __init__(self):
>
>         self.widgets = gtk.glade.XML("editor.glade")
>         # Obtenemos la ventana
>         self.ventana = self.widgets.get_widget("VentanaPrincipal")
> Le conecto las Señales que voy a usar:
>
>        signals = {
>                    "gtk_main_quit" : gtk.main_quit,
>                    "on_button1_clicked" : self.btnPersonaje,
>                    "on_button2_clicked" : self.btnEnemigo,
>                    "on_button3_clicked" : self.btnPlataforma,
>                    "on_button4_clicked" : self.btnObjeto,
>                    "on_button5_clicked" : self.btnFondo,
>                    "on_toolbutton2_clicked" : self.btnAbrir,
>                    "on_toolbutton5_clicked" : self.btnAcerca}
>
> En realidad no me da ningún error, simplemente no me muestra nada de la
> interface gráfica.
> Ya hice una activity para comprobar que sigo bien el procedimiento y
> corroboré que lo estoy haciendo bien (esta activity es sin glade, es
> simplemente una ventana hecha en Gtk que muestra un botón).
>
> Yo intuyo que el problema que estoy teniendo es donde cologo mis archivos
> glade, le estoy errando donde van localizados, pero la verdad no tengo
> claro donde debería ponerlos, te paso la estructura de carpetas que tengo
> en mi proyecto:
> src/
>      Editor/
>               Grafica/
>                         iconos/
>                         imagenes/
>                         archivos.glade
>               Logica/
>                        archivos.py
>
> Saludos,
> Alvaro
>
>
> El 16 de enero de 2012 11:55, Pablo Moleri <pmoleri en gmail.com> escribió:
>
> Hola
>>
>> ¿Podrías mostrar la parte de código donde levantás el archivo?
>> Tendrías que hacer algo de este estilo:
>>    window = gtk.glade.XML("interfaz.glade")
>>
>>
>> ¿Qué error recibís?
>>
>> Saludos,
>> Pablo
>>
>> 2012/1/16 Alvaro Arias <aarias1978 en gmail.com>
>>
>>> Buen día.
>>>
>>> Estoy tratando de crear una activity de la aplicación que he
>>> desarrollado, esta aplicación está hecha en Python, para la misma use PyGtk
>>> y para facilitar la creación de la interfaz gráfica utilice la aplicación
>>> de diseño Glade.
>>>
>>> Estoy teniendo problemas para que levante la interface dentro de la Xo,
>>> no relaciona el archivo glade , no se donde debo referenciar el archivo
>>> glade (este archivo es un xml donde esta toda la especificación de la
>>> Interface).
>>>
>>> Agradezco mucho me puedan guiar.
>>>
>>> Saludos
>>>
>>> --
>>> *Alvaro
>>> *
>>>
>>> _______________________________________________
>>> Olpc-uruguay mailing list
>>> Olpc-uruguay en lists.laptop.org
>>> http://lists.laptop.org/listinfo/olpc-uruguay
>>>
>>>
>>
>> _______________________________________________
>> Olpc-uruguay mailing list
>> Olpc-uruguay en lists.laptop.org
>> http://lists.laptop.org/listinfo/olpc-uruguay
>>
>>
>
>
> --
> *Alvaro
> *
>
> _______________________________________________
> Olpc-uruguay mailing list
> Olpc-uruguay en lists.laptop.org
> http://lists.laptop.org/listinfo/olpc-uruguay
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.laptop.org/pipermail/olpc-uruguay/attachments/20120116/2b71377a/attachment-0001.html>


More information about the Olpc-uruguay mailing list