Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

Python - Acceder interfaz glade desde clase

  Imprimir  
Vista:
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:

Acceder interfaz glade desde clase

Autor:PasabaPorAqui (14 intervenciones)
Fecha: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.
Responder
información
Otras secciones de LWP con contenido similar...
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:Acceder interfaz glade desde clase

Autor:PasabaPorAqui (14 intervenciones)
Fecha: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.
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Solucionado

Autor:PasabaPorAqui (14 intervenciones)
Fecha: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.
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:Acceder interfaz glade desde clase

Autor:Cyrus (12 intervenciones)
Fecha: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()
Comentar