Как создать поле ввода пароля с помощью Tkinter - PullRequest
32 голосов
/ 10 марта 2010

Я пытаюсь закодировать окно входа в систему с помощью Tkinter, но не могу скрыть текст пароля в формате звездочки. Это означает, что пароль вводится в виде простого текста, чего следует избегать. Есть идеи как это сделать?

Ответы [ 4 ]

60 голосов
/ 10 марта 2010

Быстрый поиск в Google дал это

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

, где widget - текстовое поле, parent - родительский виджет (окно, фрейм и т. Д.), show - символ для отображения (это символ, показанный в Entry), и width - ширина виджета.

21 голосов
/ 25 апреля 2014

Если вы не хотите создавать новый виджет Entry, вы можете сделать это:

myEntry.config(show="*");

Чтобы снова вернуться в нормальное состояние, сделайте следующее:

myEntry.config(show="");

Я обнаружил это, изучив предыдущий ответ и используя функцию справки в интерпретаторе Python (например, help (tkinter.Entry) после импорта (из сканирования документации). это снова нормально.

7 голосов
/ 02 апреля 2015
widget-name = Entry(parent,show="*")

Вы также можете использовать символ пули:

bullet = "\u2022" #specifies bullet character
widget-name = Entry(parent,show=bullet)#shows the character bullet
6 голосов
/ 17 сентября 2016

Вот небольшое, очень простое демонстрационное приложение, которое скрывает и извлекает пароль с помощью 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() 

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...