Python - Acceder interfaz glade desde clase

 
Vista:

Acceder interfaz glade desde clase

Publicado por PasabaPorAqui (15 intervenciones) el 04/09/2010 21:38:41
Hola a todos.

Estoy haciendo un programa para practicar con Python y Glade.
Tengo la ventana hecha, no tiene más que una caja de texto y un botón.
Pero me encuentro el siguiente problema, lo que hago es que al pulsar el botón se llama a una clase con un método que inserta texto en esa caja. Pero no sé como acceder a ella desde la clase.
Sé que en este caso es innecesario usar clases que es muy simple, pero es por practicar.

En el fichero principal tengo este código

import pygtk
pygtk.require('2.0')
import gtk,gobject
import hola
from gtk import glade

class gui:
def __init__(self):
self.glade=glade.XML('holamundo.glade')
self.glade.signal_autoconnect({
'quit':self.quit,
'on_bt_dihola':self.hola,
})

def hola(self,b):
hola=hola()
hola.dihola()

En el fichero hola.py

class hola:
def dihola(self):
#aqui ya no sé que poner

¿Que tendría que poner en la última función para poder insertar texto en el textbox?, entiendo que no puedo volver a llamar a glade.xml o me volverá a crear la ventana.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Acceder interfaz glade desde clase

Publicado por PasabaPorAqui (15 intervenciones) el 04/09/2010 21:43:28
Perdón, me falta al final del primer fichero

gui()
gtk.main()

si no no hace nada.
Perdón por que no salga alineado el código, pero me quita hasta los espacios la página.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Solucionado

Publicado por PasabaPorAqui (15 intervenciones) el 05/09/2010 14:20:51
Ya está solucionado, la cuestión es pasarle a la nueva clase o al método que se llama la clase que maneja la interfaz. Así a través de ella, podemos acceder a los objetos. No sé si es la forma más óptima de hacerlo o no, así que si alguien quiere dar una mejor solución, todos nos beneficiamos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Acceder interfaz glade desde clase

Publicado por Cyrus (12 intervenciones) el 06/09/2010 15:00:23
Estaria bien como tu dices, si la clase hola es la que va a manejar los eventos de los botones y asi, hay que pasarle por parametro la clase gui en este caso:
hola=hola(self)
hola.dihola()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar