python 使用Tkinter的insert方法隐藏文本

lpwwtiir  于 2023-01-19  发布在  Python
关注(0)|答案(1)|浏览(175)

我一直在浏览Tkinter文档,以创建一个用于输入密码的条目。
片段:

code = Entry(frame, width=25, fg='Black', border=0, bg='White', font=('Microsoft YaHei UI Light', 11))
code.place(x=30,y=150)
code.insert(0,'password')

这在显示单词“password”时效果很好

但是,我想在开始键入时隐藏文本。
我可以在code = Entry行文本中添加语法show="*",但是,这将更改“password”的默认文本。
我尝试将show="*"放在code.insert中,但要么出现错误,要么文本未隐藏。
这是一种可能的情况吗?
希望这一切都说得通?

afdcj2ne

afdcj2ne1#

def on_enter(e):
    code.delete(0, 'end')
    code.config(show="*")

def on_leave(e):
    name= code.get()
    if name=='':
        code.insert(0,'password')

code = Entry(frame, width=25, fg='Black', border=0, bg='White', font=('Microsoft YaHei UI Light', 11))`enter code here`
code.place(x=30,y=150)
code.insert(0,'password')
code.bind('<FocusIn>', on_enter)
code.bind('<FocusOut>', on_leave)

相关问题