Tkinter中Entry密码框Checkbutton未选中时显示文本及切换功能修复
Tkinter密码框显示/隐藏功能修复方案
原代码仅实现了密码显示逻辑,未处理取消勾选时的隐藏操作,且缺少对Checkbutton状态的判断。以下是修复后的完整实现:
修复后的代码
import tkinter as tk def show(): # 判断复选框是否被选中 if showpassword.instate(['selected']): # 选中时显示明文 password_entry.config(show="") else: # 未选中时显示*隐藏密码 password_entry.config(show="*") root = tk.Tk() root.title("密码显示示例") # 创建密码输入框,初始状态隐藏密码 password_entry = tk.Entry(root, show="*") password_entry.pack(padx=10, pady=10) # 创建显示密码复选框,绑定切换函数 showpassword = tk.Checkbutton(root, text="显示密码", command=show) showpassword.pack(padx=10, pady=5) root.mainloop()
关键修复点
- 状态判断:在
show函数中通过showpassword.instate(['selected'])获取复选框的选中状态,以此决定密码框的显示模式 - 双向切换:根据复选框状态动态设置
Entry的show参数,实现勾选显示、取消勾选隐藏的完整功能 - 补全主窗口:添加
tk.Tk()实例,确保Tkinter组件能正常渲染
内容的提问来源于stack exchange,提问作者Jai Krishna Das Saini
相关产品推荐
相关产品推荐

