Button mit Enter auslösen

Fragen zu Tkinter.
IgelaufReisen
User
Beiträge: 49
Registriert: Montag 29. Oktober 2007, 20:10
Wohnort: Berlin
Kontaktdaten:

Button mit Enter auslösen

Beitragvon IgelaufReisen » Montag 29. Oktober 2007, 20:49

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
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

Beitragvon pyStyler » Montag 29. Oktober 2007, 21:27

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
IgelaufReisen
User
Beiträge: 49
Registriert: Montag 29. Oktober 2007, 20:10
Wohnort: Berlin
Kontaktdaten:

Beitragvon IgelaufReisen » Montag 29. Oktober 2007, 21:40

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.
IgelaufReisen
User
Beiträge: 49
Registriert: Montag 29. Oktober 2007, 20:10
Wohnort: Berlin
Kontaktdaten:

Beitragvon IgelaufReisen » Montag 29. Oktober 2007, 21:43

Ahh nee.
Verlesen.
Moment. Ich muss das nochmal probieren...
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

Beitragvon pyStyler » Montag 29. Oktober 2007, 21:43

dann ändere mal die zeile 14 durch
entry.focus_set()
IgelaufReisen
User
Beiträge: 49
Registriert: Montag 29. Oktober 2007, 20:10
Wohnort: Berlin
Kontaktdaten:

Beitragvon IgelaufReisen » Montag 29. Oktober 2007, 21:44

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!

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder