Seite 1 von 1

Return binden

Verfasst: Freitag 16. Mai 2008, 15:09
von sorgenlos
ich hab noch ne frage, erstell aber mal kein neuen thread :D

Ich hab ein Fenster in dem ich ein Passwort eingeben muss um mich zu authentifizieren.

Ich will mit der Enter-Taste (Return-Taste) den OK-Button auslösen, weil ich sonst immer mit der maus den button anklicken muss.

ich bekomm es aber nicht hin die return taste zu binden...

weiß da jemand weiter? ich hab auch schon in der tkinter reference von der new mexico tech gesucht aber nichts gefunden.

Bild


Code: Alles auswählen

    def pw(self):
        self.geometry("220x105")
        Label(self, text="Geben Sie Ihr Passwort zur Benutzung ein!").place(x=10, y=10)

        Label(self, text="Passwort :").place(x=30, y=45)

        self.en1=StringVar()
        en1=Entry(self, borderwidth= '2', show="♫", relief= 'groove',width=15,textvariable=self.en1)
        en1.place(x=85, y=45)  

        bu1=Button(self,text="OK", command=self.passwort_pruefen)
        bu1.place(x=80, y=75, width=30, height=20)

        bu2=Button(self,text="Abb.")#, command=self.abbrechen)
        bu2.place(x=120, y=75, width=30, height=20)
Edit (Leonidas): Thread geteilt. Das nächte mal selbst machen.

Verfasst: Freitag 16. Mai 2008, 16:17
von numerix
sorgenlos hat geschrieben:ich hab noch ne frage, erstell aber mal kein neuen thread :D
Wäre aber besser - dann kann man gezielter suchen und andere haben mehr davon.
sorgenlos hat geschrieben:weiß da jemand weiter? ich hab auch schon in der tkinter reference von der new mexico tech gesucht aber nichts gefunden.
Steht aber drin - allerdings erst ziemlich am Ende ...

Guckst du hier:

Code: Alles auswählen

import Tkinter as tk

def checkpw(event=None):
    pw = infield.get()
    infield.delete(0,"end")
    if pw != "sorgenlos":
        infield.insert(0,"Falsch")
        infield.config(bg="red")
    else:
        infield.insert(0,"Richtig")
        infield.config(bg="green")

root = tk.Tk()
infield = tk.Entry(root)
infield.pack()
button = tk.Button(root,text="Check",command=checkpw)
button.pack()
infield.focus_set()
root.bind("<Return>",checkpw)
root.mainloop()
Im übrigen ist dein Code überarbeitungswürdig. Unter anderem:
- Tkinter nicht mit * importieren
- Verabschiede dich vom place-Geometry-Manager und setze pack oder grid ein