You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Tkinter密码输入框中保留默认提示文本且输入时隐藏内容?

解决Tkinter密码输入框默认文本显示问题

直接上可行方案:默认状态下不设置show参数,显示"password"提示文本,通过绑定焦点事件切换成密码隐藏模式,代码如下:

import tkinter as tk

def on_focus_in(event):
    # 输入框获得焦点时,若内容是默认提示,则清空并设置密码隐藏
    if event.widget.get() == "password":
        event.widget.delete(0, tk.END)
        event.widget.config(show="*")

root = tk.Tk()

# 创建输入框,初始不设置show,插入默认提示文本
password_entry = tk.Entry(root)
password_entry.insert(0, "password")
password_entry.pack(padx=10, pady=10)

# 绑定焦点进入事件
password_entry.bind("<FocusIn>", on_focus_in)

root.mainloop()

额外优化(可选):如果想在用户未输入内容就离开输入框时恢复默认提示,可以添加焦点离开事件处理:

def on_focus_out(event):
    # 失去焦点且内容为空时,恢复默认提示文本与正常显示模式
    if not event.widget.get():
        event.widget.config(show="")
        event.widget.insert(0, "password")

# 绑定焦点离开事件
password_entry.bind("<FocusOut>", on_focus_out)

核心逻辑就是利用焦点事件动态切换show参数和输入框内容,避开了一开始设置show="*"导致默认文本变成星号的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 12:35:23