No puedo usar la instrucción Gtk.get-text correctamente en python

Estoy escribiendo un pequeño progtwig en Python con Gtk3 y esto es parte del código:

#!/usr/bin/env python3 import gi gi.require_version('Gtk', '3.0') from gi.repository import Gtk class Layout(Gtk.Window): def __init__(self): Gtk.Window.__init__(self, title="Ricerca partite") self.set_default_size(265, 310) self.connect("destroy", Gtk.main_quit) layout = Gtk.Layout() self.add(layout) label = Gtk.Label("Inserisci i TAG della partita che cerchi") layout.put(label, 10, 10) xlabel = 10 ; ylabel = 50 xentry = 90 ; yentry = 45 yy=30 label = Gtk.Label(" Event ") layout.put(label, xlabel, ylabel) Event = Gtk.Entry() Event.set_text("---test---") layout.put(Event, xentry, yentry) ylabel += yy ; yentry += yy label = Gtk.Label(" Site ") layout.put(label,xlabel, ylabel) Site = Gtk.Entry() layout.put(Site, xentry, yentry) ylabel += yy ; yentry += yy # ... # Other 5 labels and entries # ... button = Gtk.Button(label=" cerca ") layout.put(button, 186, ylabel+10) button.connect("clicked", self.on_button_clicked) txt=Event.get_text() # I verify "Event" entry print(txt) def on_button_clicked(self, button): print("Button has been clicked!") txt=window.Event.get_text() print(ddd,type(ddd)) window = Layout() window.show_all() Gtk.main() 

Cuando se hace clic en el botón “Buscar”, se imprime “¡Se ha hecho clic en el botón”! y me gustaría poner en tantas variables el contenido de las siete “entradas” pero, perdonando mi ignorancia, a pesar de todas las pruebas, no puedo obtener el resultado que quiero.

El error que recibo es:

 Traceback (most recent call last): File "scriptName.py", online 75, in on_button_clicked txt=window.Event.get_text () AttributeError:' Layout' object has no attribute' Event'. 

Gracias y disculpas por el mal inglés: traducido con PC.

Traducido con www.DeepL.com/Translator

Es posible que desee leer sobre clases de Python en algún momento. De todos modos, estaba accediendo a una nueva clase desde dentro de la primera clase, lo que llevó a su error. Aquí está el código apropiado:

 #!/usr/bin/env python3 import gi gi.require_version('Gtk', '3.0') from gi.repository import Gtk class Layout(Gtk.Window): def __init__(self): Gtk.Window.__init__(self, title="Ricerca partite") self.set_default_size(265, 310) self.connect("destroy", Gtk.main_quit) layout = Gtk.Layout() self.add(layout) label = Gtk.Label("Inserisci i TAG della partita che cerchi") layout.put(label, 10, 10) xlabel = 10 ; ylabel = 50 xentry = 90 ; yentry = 45 yy=30 label = Gtk.Label(" Event ") layout.put(label, xlabel, ylabel) self.Event = Gtk.Entry() self.Event.set_text("---test---") layout.put(self.Event, xentry, yentry) ylabel += yy ; yentry += yy label = Gtk.Label(" Site ") layout.put(label,xlabel, ylabel) Site = Gtk.Entry() layout.put(Site, xentry, yentry) ylabel += yy ; yentry += yy # ... # Other 5 labels and entries # ... button = Gtk.Button(label=" cerca ") layout.put(button, 186, ylabel+10) button.connect("clicked", self.on_button_clicked) txt=self.Event.get_text() # I verify "Event" entry print(txt) def on_button_clicked(self, button): print("Button has been clicked!") text=self.Event.get_text() print(text,type(text)) window = Layout() window.show_all() Gtk.main()