Seite 1 von 1
Entry
Verfasst: Samstag 14. Dezember 2002, 22:17
von Tux
Hi @ll!
Hab mal wieder ne Frage:
Ich will ein Entry erstellen, in dem alles was eingegeben wurde als * angezeigt wird! Also wie bei der Eiongabe von Passwörtern! Wie geht das? Ich will aber auch mit dem eingegebenen Wert arbeiten!
Danke schon mal
ICH
Verfasst: Samstag 14. Dezember 2002, 22:56
von Dookie
Hi Tux,
erstmal wo soll es eingegeben werden, Console, GUI-Fenster, Webformular?
Wenn GUI-Fenster welches GUI willst Du verwenden?
Gruß
Dookie
Verfasst: Sonntag 15. Dezember 2002, 00:45
von Tux
Hi Dokkie!
Ich verwende Tkinter! Eingeben tu ich die Daten im IDLE!
ICH
Verfasst: Sonntag 15. Dezember 2002, 03:04
von Dookie
Hi Tux,
hier ein ganz kleines und simples beispiel,
Code: Alles auswählen
from Tkinter import *
dialog = Toplevel()
password = StringVar()
label = Label(dialog,text="Passwort")
//---- hier kommts ----//
entry = Entry(dialog, textvariable=password, show="*")
label.pack(side="left")
entry.pack(side="left")
entry.bind("<Return>", lambda event: dialog.destroy())
dialog.mainloop()
print password.get()
wichtig ist beim Entrywidget, die Option show="*"-
Gruß
Dookie
Danke
Verfasst: Sonntag 15. Dezember 2002, 10:27
von Tux
Hi Dookie!
1.) Danke!
2.) Eine Zeile versteh ich net ganz (weiß nicht wofür sie gut ist):
Code: Alles auswählen
entry.bind("<Return>", lambda event: dialog.destroy())
ICH
oder so
Verfasst: Sonntag 15. Dezember 2002, 12:40
von Gast
wie es in "einstieg in pyhton" (galileo computing) beschrieben wird:
import sys
from Tkinter import*
def ende():
sys.exit(0)
#Unersuchung des Passwortes
def pwtest():
eingabe=e.get()
if eingabe=="bingo":
lb["text"]="Zugang erlaubt"
else:
lb["text"]="Zugang verweigert"
hauptfenster=Tk()
#Eingabefeld mit Zeichen * als Darstellung
e=Entry(hauptfenster,show="*")
e.pack()
#Test der Eingabe
btest=Button(hauptfenster,text="Login",command=pwtest)
btest.pack()
#Anzeige des Ergebnisses
lb=Label(hauptfenster,text="Zugang")
lb.pack()
bende=Button(hauptfenster,text="Ende",command=ende)
bende.pack()
hauptfenster.mainloop()
---das buch ist überhaupt sehr empfehlenswert, weil es viele impulse gibt. und sich nicht zu sehr in theorie verliert.
mfg
roland
einruückungen
Verfasst: Sonntag 15. Dezember 2002, 12:42
von Gast
selbst ergänzen! wurden nicht widergegeben
sorry
Re: Danke
Verfasst: Sonntag 15. Dezember 2002, 13:51
von Dookie
Hi nochmal
Tux hat geschrieben:Hi Dookie!
2.) Eine Zeile versteh ich net ganz (weiß nicht wofür sie gut ist):
Code: Alles auswählen
entry.bind("<Return>", lambda event: dialog.destroy())
Wie Du sicher schon weißt, kannst Du mit widget.bind(event, action) an ein Ereignis (event) wie dem Anklicken des Widgets mit der Maus oder eben auch Tastendrücken, eine Funktion (action) in der Form funktion(event) zuordnen. Der Ausdruck "lambda event: dialog.destroy()" ist nur ein Wraper um beim einreten des Ereignises "<Return>-Taste gedrückt" das Fenster zu schließen. Genau so gut hätte ich auch schreiben können
Code: Alles auswählen
def closeDialog(event):
dialog.destroy()
entry.bind("<Return>", closeDialog)
@rogal: Wenn Du hier Pythoncode postest, schließe diesen in <code> Dein Beispiel </code> ein, nimm statt der spitzen Klammern eckige.
Gruß
Dookie