Я пытаюсь закодировать окно входа в систему с помощью Tkinter, но не могу скрыть текст пароля в формате звездочки. Это означает, что ввод пароля представляет собой обычный текст, чего следует избегать. Любая идея, как это сделать?
Как создать поле ввода пароля с помощью Tkinter
Ответы (4)
Быстрый поиск в гугле дал это
widget = Entry(parent, show="*", width=15)
где widget
— текстовое поле, parent
— родительский виджет (окно, фрейм и т. д.), show
— символ для отображения (то есть символ, показанный в Entry
), а width
— ширина виджета.
show='*'
также копирование/вставку?
- person Adrian Keister; 08.04.2019
Если вы не хотите создавать новый виджет 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='*')
submit = Button(app, text='Show Console',command=show)
passEntry.pack()
submit.pack()
app.mainloop()
Надеюсь, это поможет!
passEntry
, и submit
содержат None
после вызова pack()
, вам нужно сначала назначить переменные, а затем вызвать менеджер pack
.
- person R__raki__; 22.07.2019