You need to enable JavaScript to run this app. 如何在Python Tkinter中实现密码显示隐藏的查看密码功能
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python Tkinter中实现密码显示隐藏的查看密码功能

两种控件都可以实现该功能,优先推荐用复选框(Checkbutton),符合大部分桌面软件的「显示密码」交互习惯,用户学习成本更低。

首先你现有代码有个小问题:pack() 方法返回值为None,你直接把 Entry(root, show='*').pack() 赋值给变量的话,后续无法调用Entry控件的相关方法,需要拆分写:先创建Entry实例赋值给变量,再单独调用pack()方法。

方案1:复选框实现(点选切换显示/隐藏)

完整可运行代码如下:

from tkinter import *

root = Tk()
root.title("密码输入示例")

# 先创建Entry控件再调用pack,保证变量能拿到控件实例
getPassword = Entry(root, show='*')
getPassword.pack(padx=20, pady=10)

# 切换密码显示状态的函数
def toggle_password():
    if show_pwd.get():
        # 复选框选中时,show参数设为空,显示明文
        getPassword.config(show="")
    else:
        # 未选中时,show参数设为*,隐藏密码
        getPassword.config(show="*")

# 定义布尔变量存储复选框选中状态
show_pwd = BooleanVar()
# 创建复选框
check_btn = Checkbutton(root, text="显示密码", variable=show_pwd, command=toggle_password)
check_btn.pack(pady=5)

root.mainloop()

方案2:按钮实现(按住显示、松开隐藏)

如果是需要临时查看密码的场景,可以用Button控件,绑定鼠标按下和松开事件实现:

from tkinter import *

root = Tk()
root.title("密码输入示例")

getPassword = Entry(root, show='*')
getPassword.pack(padx=20, pady=10)

# 鼠标按下时显示明文
def show_pwd(event):
    getPassword.config(show="")

# 鼠标松开时隐藏密码
def hide_pwd(event):
    getPassword.config(show="*")

# 创建按钮,绑定事件
toggle_btn = Button(root, text="按住查看密码")
toggle_btn.bind("<ButtonPress-1>", show_pwd)
toggle_btn.bind("<ButtonRelease-1>", hide_pwd)
toggle_btn.pack(pady=5)

root.mainloop()

两种方案按需选择即可,常规场景下方案1的使用频率更高。

内容的提问来源于stack exchange,提问作者yuya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.22 05:45:04