Ich habe ein Elternfenster mit einem Text und Knopf. Beim Klicken auf die Schaltfläche im Elternfenster öffnet sich das Kind-Fenster, das das Eingabefeld und eine Schaltfläche enthält. Wenn ich nun etwas in das Eingabefeld des untergeordneten Fensters eingebe und auf submit des untergeordneten Fensters klicke, erscheinen die Daten, die im Eingabefeld des untergeordneten Fensters eingegeben wurden, im Textfeld des übergeordneten Fensters. Wie kann ich das tun? Mein Code ist wie folgt.Wie zeige ich einen Wert vom Children-Fenster zum Parent-Fenster in Python Tkinter an?
from tkinter import *
class Application(Frame):
def __init__(self, master):
super(Application,self).__init__(master)
self.grid()
self.create_widgets()
def create_widgets(self):
self.t1=Text(self,width=10,height=2)
self.t1.grid(row=1,column=1)
self.b1=Button(self,text="create",command=self.onClick)
self.b1.grid(row=2,column=1)
def onClick(self):
self.top = Toplevel()
self.top.title("title")
self.top.geometry("300x150+30+30")
self.top.transient(self)
self.appc=Demo(self.top)
class Demo:
def __init__(self, master):
self.master = master
self.frame = Frame(self.master)
self.widget()
def widget(self):
self.e1=Entry(self.master)
self.e1.grid(row=1,column=1)
self.b1=Button(self.master,text="submit",command=self.onSubmit)
self.b1.grid(row=2,column=1)
def onSubmit(self):
self.value=self.e1.get()
print(self.value)
root=Tk()
app=Application(root)
app.mainloop()`
Er kann die 'Application'-Instanz selbst anstelle des 'Text'-Widgets übergeben, so:' self.appc = Demo (self.top, self) '. Mit dem 'Objekt' bekomme ich einen 'TypeError: muss Typ sein, nicht Classobj', aber ich benutze Python 2.7. Ich weiß nicht, welchen Unterschied es macht. – VRage
Danke, es funktioniert jetzt @VRage – sujit