Я пытаюсь закодировать окно входа в систему с помощью Tkinter, но не могу скрыть текст пароля в формате звездочки. Это означает, что пароль вводится в виде простого текста, чего следует избегать. Есть идеи как это сделать?
Быстрый поиск в Google дал это
widget = Entry(parent, show="*", width=15)
, где widget - текстовое поле, parent - родительский виджет (окно, фрейм и т. Д.), show - символ для отображения (это символ, показанный в Entry), и width - ширина виджета.
widget
parent
show
Entry
width
Если вы не хотите создавать новый виджет Entry, вы можете сделать это:
myEntry.config(show="*");
Чтобы снова вернуться в нормальное состояние, сделайте следующее:
myEntry.config(show="");
Я обнаружил это, изучив предыдущий ответ и используя функцию справки в интерпретаторе Python (например, help (tkinter.Entry) после импорта (из сканирования документации). это снова нормально.
widget-name = Entry(parent,show="*")
Вы также можете использовать символ пули:
bullet = "\u2022" #specifies bullet character widget-name = Entry(parent,show=bullet)#shows the character bullet
Вот небольшое, очень простое демонстрационное приложение, которое скрывает и извлекает пароль с помощью 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()
Надеюсь, это поможет!