[Olpc-uruguay] Ayuda para remover un widget !!
Pablo Moleri
pmoleri en gmail.com
Lun Oct 19 10:36:45 EDT 2009
Supongamos que tenés un contenedor principal que hereda de HBox:
class Contenedor(gtk.HBox):
def __init__(self):
...
boton = gtk:Button()
self.add(button)
button.connect("clicked", self.atender)
...
# me guardo como atributo una referencia al widget que va a mostrar el
archivo
self.contenedor_imagen = gtk...
self.add(contenedor_imagen)
...
self.atender():
# código para seleccionar archivo
# código para cargar el archivo en self.contenedor_imagen
...
if __name__ = "main":
gtk.Contenedor()
gtk.main()
Entonces al botón, en vez de conectarle una función propia, le conectás una
función del contenedor principal, de esa forma podés tener referencias a los
otros elementos que precisás.
Saludos,
Pablo
2009/10/19 Flavio Danesse <fdanesse en gmail.com>
> No funciona, estoy bastante confundido, a ver si me pueden aclarar un par
> de cosas:
>
> Supongamos que tengo una clase que crea una interfase gráfica con varios
> contenedores y controles.
>
> ¿ Como defino métodos de instancia para poder acceder a sus controles desde
> fuera de la clase ?
>
> No logro encontrar la forma correcta de definir estos metodos o funciones.
> Lo que hago basicamente es instanciar la clase, esta crea toda una
> interfase.
> En esta interfase tengo un boton que al presionarlo me habre un cuadro de
> dialogo FileSelection, obviamente, al seleccionar el archivo que deseo
> abrir, debo cargarlo en un control que está en la interfase original pero no
> logro hacerlo, porque no se como acceder al control de la interfase
> original.
>
>
>
>
>
>
>
> El 19 de octubre de 2009 11:55, Pablo Moleri <pmoleri en gmail.com> escribió:
>
> Hola,
>>
>> Supongo que lo que te está faltando es hacer remove() con la referencia al
>> calendario original.
>>
>> O sea, si agregaste así:
>> mi_calendario = gtk.Calendar()
>> mi_frame = gtk.Frame()
>>
>> entonces deberías eliminarlo usando la misma variable:
>> mi_frame.remove(mi_calendario)
>>
>> En caso de que no tuvieras la referencia al calendario original, podrías
>> hacer algo así:
>>
>> for child in mi_frame.get_children():
>> mi_frame.remove(child)
>>
>> En realidad frame puede tener un único hijo, así que ese for va a iterar
>> una sola vez.
>>
>> Espero que te sea de ayuda,
>> Saludos!
>>
>> 2009/10/19 Flavio Danesse <fdanesse en gmail.com>
>>
>>> *Hola gente, necesito una ayudita:*
>>>
>>>
>>> - En una interfaz gráfica tengo un gtk.Frame y dentro tengo un
>>> gtk.Calendar.
>>> - Quiero quitar el calendar y poner otro control dentro del frame.
>>> - Para hacer esto implementé una funcion que devuelve el frame
>>> llamada get_Frame.
>>> - En otra función, llamé a get_Frame y con el metodo remove de
>>> gtk.Container intenté quitar el calendario, pero me devuelve error porque
>>> segun dice, el metodo está recibiendo una instancia de objeto.
>>>
>>>
>>> No logro encontrar como hacerlo, a ver si alguien me tira un cable.
>>>
>>> _______________________________________________
>>> 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
>>
>>
>
> _______________________________________________
> 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/20091019/6b3bf861/attachment-0001.htm
More information about the Olpc-uruguay
mailing list