Entry

Fragen zu Tkinter.
Antworten
Tux
User
Beiträge: 70
Registriert: Freitag 8. November 2002, 23:07
Kontaktdaten:

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
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Hi Tux,

erstmal wo soll es eingegeben werden, Console, GUI-Fenster, Webformular?
Wenn GUI-Fenster welches GUI willst Du verwenden?


Gruß

Dookie
Tux
User
Beiträge: 70
Registriert: Freitag 8. November 2002, 23:07
Kontaktdaten:

Hi Dokkie!

Ich verwende Tkinter! Eingeben tu ich die Daten im IDLE!

ICH
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

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
Tux
User
Beiträge: 70
Registriert: Freitag 8. November 2002, 23:07
Kontaktdaten:

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
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
Gast

selbst ergänzen! wurden nicht widergegeben

sorry
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

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
Antworten