2010-03-10 23 views
26

Estoy intentando codificar una ventana de inicio de sesión usando Tkinter pero no puedo ocultar el texto de la contraseña en formato de asterisco. Esto significa que la entrada de la contraseña es texto sin formato, que debe evitarse. ¿Alguna idea de cómo hacerlo?Cómo crear un campo de entrada de contraseña usando Tkinter

Respuesta

44

Una rápida búsqueda en Google rindió este

widget = Entry(parent, show="*", width=15) 

donde widget es el campo de texto, parent es el widget padre (una ventana, un marco, lo que sea), show es el carácter de eco (que es el carácter se muestra en el Entry) y width es el ancho del widget.

16

Si no desea crear un nuevo widget de entrada de la marca, se puede hacer esto:

myEntry.config(show="*"); 

Para hacerlo volver a la normalidad una vez más, hacer esto:

myEntry.config(show=""); 

descubrí esto mediante el examen de la respuesta anterior, y el uso de la función de ayuda en el intérprete de Python (por ejemplo, ayuda (tkinter.Entry) después de la importación (desde el escaneo de la documentación allí). Admito que acabo de adivinar cómo volver a hacerlo normal.

3
widget-name = Entry(parent,show="*") 

También puede utilizar un símbolo de la viñeta:

bullet = "\u2022" #specifies bullet character 
widget-name = Entry(parent,show=bullet)#shows the character bullet 
+0

Esto no funcionó para mí; no estoy seguro de lo que estoy haciendo mal, o si simplemente no funciona –

2

He aquí una pequeña, extremadamente simple ocultación aplicación de demostración y de ir a buscar la contraseña utilizando Tkinter.

#Python 3.4 (For 2.7 change tkinter to Tkinter) 

from tkinter import * 

def show(): 
    p = password.get() #get password from entry 
    print(p) 


app = Tk() 
password = StringVar() #Password variable 
passEntry = Entry(app, textvariable=password, show='*').pack() 
submit = Button(app, text='Show Console',command=show).pack()  
app.mainloop() 

Hope that helps!

Cuestiones relacionadas