Tkinter/ ttk focus mit bindings setzen
Verfasst: Samstag 22. März 2014, 10:48
Hallo,
ich bin grad auf ein Problem in Tkinter bzw. in ttk gestoßen. Undzwar gelingt es mir nicht, mit bind() den focus neu zu setzen. Hört sich vielleicht kompliziert an, ich gebe mal ein Beispiel.
Ich will, dass wenn man bei entry1 mit Enter bestätig der focus auf entry2 übergeht. Ich krieg aber nur diesen Fehler:
Das kann aber nicht sein, dass ich dafür eine extra Funktion brauche oder? Könnt ihr mir vielleicht sagen, wie ich das Binding im ersten Beispiel zum laufen bringen kann?
ich bin grad auf ein Problem in Tkinter bzw. in ttk gestoßen. Undzwar gelingt es mir nicht, mit bind() den focus neu zu setzen. Hört sich vielleicht kompliziert an, ich gebe mal ein Beispiel.
Code: Alles auswählen
from Tkinter import *
import ttk
root = Tk()
var1 = StringVar()
var2 = StringVar()
entry1 = ttk.Entry(root, textvariable = var1)
entry2 = ttk.Entry(root, textvariable = var2)
entry1.bind('<Return>', entry2.focus_set)
entry1.grid()
entry2.grid()
entry1.focus()
root.mainloop()Wenn ich den Code so umändere funktioniert alles.TypeError: focus_set() takes exactly 1 argument (2 given)
Code: Alles auswählen
from Tkinter import *
import ttk
root = Tk()
var1 = StringVar()
var2 = StringVar()
entry1 = ttk.Entry(root, textvariable = var1)
entry2 = ttk.Entry(root, textvariable = var2)
def change_focus(event):
entry2.focus_set()
entry1.bind('<Return>', change_focus)
entry1.grid()
entry2.grid()
entry1.focus()
root.mainloop()