Изменение представления поля ввода много раз - PullRequest
0 голосов
/ 20 сентября 2018

Я бы хотел, чтобы содержимое этого моего поля ввода открывалось из * при нажатии кнопки, но затем восстанавливалось при повторном нажатии, и так далее.Есть идеи?

Код, который у меня есть на данный момент:

 password_entry = Entry(root, width = 45, textvariable=user_password, show = "*")

 def Show():
        password_entry.config(show="")

show_password = Button(canvas, width = 31, height = 17, image = eye_img, bg = "gray33", relief = "flat", command = Show)

Это только открывает пароль и не восстанавливает его при повторном нажатии кнопки.

1 Ответ

0 голосов
/ 20 сентября 2018

Кажется, вы пытаетесь сделать кнопку переключения.Отредактируйте свою функцию.Получить значение тока show.Если это *, тогда измените его на , если это , тогда измените его на *.Ваша функция может быть:

def Show():
    password_entry["show"] = "*" if password_entry["show"] == "" else ""

Вот пример кода, который работает как ожидалось:

from tkinter import *
root = Tk()
password_entry = Entry(root, width = 45, show = "*")
password_entry.grid(row=0,column=0)

def Show():
    password_entry["show"] = "*" if password_entry["show"] == "" else ""

show_password = Button(root,text="Show Password",bg = "gray33", relief = "flat", command = Show)
show_password.grid(row=0,column=1)
root.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...