Seite 1 von 1

Button mit Enter auslösen

Verfasst: Montag 29. Oktober 2007, 20:49
von IgelaufReisen
Hallöchen liebe Community.
Ich habe da mal eine Frage.
Und zwar, ist es möglich, einen Button zu betätigen, indem man auf Enter drückt? Also die Taste da rechts unter der Backspacetase.
Ich gebe Text in ein Entry ein und möchte dann nach der Eingabe ohne Weiteres auf Enter drücken und damit den Button auslösen. Oder gleich die Methode durch den Enterdruck auslösen, die sonst vom Button ausgelöst werden würde.

Ist das realisierbar? Und wenn ja, wie?!
Danke im Vorraus.
Der Igel

Verfasst: Montag 29. Oktober 2007, 21:27
von pyStyler
Hallo und willkommen,

klar geht das... mit " bind "

Code: Alles auswählen

import Tkinter

root = Tkinter.Tk()

def onReturn(*event):
    xGet = entry.get()
    print xGet
   
entry = Tkinter.Entry(root,bd=1)
entry.pack()

button = Tkinter.Button(root, text='Enter', command=onReturn)
button.pack()
button.focus_set()
root.bind('<Return>', onReturn)

Tkinter.mainloop()
Gruss
pyStyler

Verfasst: Montag 29. Oktober 2007, 21:40
von IgelaufReisen
Mmh.
Also das funktioniert zwar so ganz toll, aber ich wollte vorher schon das Entry in den Focus setzen. Das geht ja nun nicht mehr. Also dass man das ganze auch ohne Maus bedienen kann.
Focus geht ins Entry, man tippt was ein und drück Enter, woraufhin ne andere Methode wirkt. Für bind gibt es ja leider nicht das Argument command, sonst wär das ja auch kein Problem.

Verfasst: Montag 29. Oktober 2007, 21:43
von IgelaufReisen
Ahh nee.
Verlesen.
Moment. Ich muss das nochmal probieren...

Verfasst: Montag 29. Oktober 2007, 21:43
von pyStyler
dann ändere mal die zeile 14 durch
entry.focus_set()

Verfasst: Montag 29. Oktober 2007, 21:44
von IgelaufReisen
Ich war doof.
Jetzt funktioniert alles.
War nur zu doof, deinen Quelltext zu interpretieren.
Das Entry war schon befocust. Jetzt geht alles.
Ganz großes DAnke!