Python - Acceder interfaz glade desde clase
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. También te puede interesar...
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.
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.
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() Hola mundo y primera consulta con lxml Ayuda Programa Pythong |