Entry-Feld im Unterfenster: Variablenübergabe klappt nicht
Verfasst: Dienstag 22. Januar 2013, 18:15
Hallo,
habe ein Problem mit einem Tk-Unterfenster und Tastatur-Eingaben, die dort stattfinden sollen.
Ich kann zwar mit ...bind(<'Key-Return'>... eine Funktion an das Entry-Feld binden, die Kopplung mit der StringVar-Variablen geht zwar im Haupt-, aber nicht im Unterfenster.
Hat einer von Euch vielleicht einen Hinweis?
Danke für Eure Tipps.
habe ein Problem mit einem Tk-Unterfenster und Tastatur-Eingaben, die dort stattfinden sollen.
Ich kann zwar mit ...bind(<'Key-Return'>... eine Funktion an das Entry-Feld binden, die Kopplung mit der StringVar-Variablen geht zwar im Haupt-, aber nicht im Unterfenster.
Hat einer von Euch vielleicht einen Hinweis?
Code: Alles auswählen
from tkinter import *
class myApp(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.text1 = StringVar() # Text für Hauptfenster-Entry
self.text1.set('my 1st text')
self.text2 = StringVar() # Text für Unterfenster-Entry
self.text2.set('my 2nd text')
self.create_widgets()
def create_widgets(self):
self.myBtn = Button(self) # Button
self.myBtn['text'] = 'call second window'
self.myBtn['command'] = self.secWin
self.myBtn.pack()
self.entry1 = Entry() # Entry (main window)
self.entry1.pack()
self.entry1['textvariable'] = self.text1
self.entry1.bind('<Key-Return>', self.printT1)
def printT1(self, event):
print('contents of text1=', self.text1.get())
def printT2(self, event):
print('contents of text2=', self.text2.get())
def secWin(self): # second window
sWin = Tk()
sWin.geometry('+400+200')
sWin.entry2 = Entry(master=sWin)# Entry (second window)
sWin.entry2.pack()
sWin.entry2['textvariable'] = self.text2
sWin.entry2.bind('<Key-Return>', self.printT2)
firstWin = Tk()
firstWin.geometry('+200+200')
app = myApp(master=firstWin).mainloop()
firstWin.destroy