2016-03-13 6 views
2

У меня есть поле ввода, предназначенное для паролей, как это:Tkinter флажка, чтобы свести на нет звездочек в поле ввода

Input = Entry(MainWindow, show="*") 

Он скрывает все, что вы печатаете. Я создал флажок «показать пароль», который при нажатии должен показать, что находится в поле ввода.

CheckBox = Checkbutton(MainWindow, text="Show password", variable=Checked, command=Stars) 

Где функция Stars предназначена для включения или выключения атерис в поле ввода. У меня возникли проблемы с написанием функции Stars и заставляя ее делать то, что я хочу.

Я попытался

def Stars(): 
print("check box") 

if (Checked.get()): 
    Input.config(show=None) 
else: 
    Input.config(show="*") 

Любые идеи?

+0

Не зная, как виджеты связаны друг с другом, я бы с 'Input.config (показать = None)' –

+0

Я попытался Защита Stars(): 'печати ("флажок") если (Checked.get()): Input.config (показать = None) еще: Input.config (показать = "*") ' функция работает, но ничего не происходит звезды – Kos

+0

Попробуйте полностью удалить if-statement. –

ответ

1

Попробуйте с:

def Stars(): 
    Input.config(show='') 
Смежные вопросы