首页 > 解决方案 > 如何在 Tkinter 条目中有占位符?

问题描述

我正在使用 Tkinter 在 Python 3.8 中制作软件登录页面。
如何在 Tkinter 条目中添加占位符,就像这张图片中的一样?

在此处输入图像描述

使用此代码:
E1 = Text(M, bd=0, height=35, width=1000, font=("Calibri 20"), bg="ghost white")
E1.pack(side=LEFT)

标签: pythonpython-3.xtkintertkinter-entry

解决方案


这应该工作:

from tkinter import *


def focus_out_entry_box(widget, widget_text):
    if widget['fg'] == 'Black' and len(widget.get()) == 0:
        widget.delete(0, END)
        widget['fg'] = 'Grey'
        widget.insert(0, widget_text)


def focus_in_entry_box(widget):
    if widget['fg'] == 'Grey':
        widget['fg'] = 'Black'
        widget.delete(0, END)


entry_text = 'First name'
my_entry = Entry(font='Arial 18', fg='Grey')
my_entry.insert(0, entry_text)
my_entry.bind("<FocusIn>", lambda args: focus_in_entry_box(my_entry))
my_entry.bind("<FocusOut>", lambda args: focus_out_entry_box(my_entry, entry_text))
my_entry.pack()
mainloop()

推荐阅读