我目前正在开发我的第一个python程序,一个使用tkinter的预订系统。我有一个客户帐户创建屏幕,它使用许多输入框。单击输入框时,将调用以下键绑定以清除其指令的输入框(即“输入名称”)
def entry_click(event):
if "enter" in event.widget.get():
event.widget.delete(0, "end")
event.widget.insert(0, "")
event.widget.configure(fg="white")
#example Entry fields
new_name = Entry(root)
new_name.insert(0, "enter name")
new_name.bind('<FocusIn>', entry_click)
new_name.bind('<FocusOut>', entry_focusout)
new_email = Entry(root)
new_email.insert(0, "enter email")
new_email.bind('<FocusIn>', entry_click)
new_email.bind('<FocusOut>', entry_focusout)
以类似的方式,我正在寻找一种方法来创建一个通用事件,在该事件中,如果单击离开时框为空,则该唯一输入字段的相应文本将返回到其初始状态(即“输入名字”或“输入电子邮件”)。你知道吗
def entry_focusout():
if not event.widget.get():
event.widget.insert(fg="grey")
event.widget.insert(0, #[appropriate text here])
我怎么能做到? 非常感谢。你知道吗
以下是
OOP
通用解决方案。感谢@Henry Yik的
if event.widget["foreground"] == "grey":
部分。你知道吗用Python:3.5测试
只需向
entry_focusout
事件添加一个arg,并使用lambda函数绑定到Entry
小部件。你知道吗相关问题 更多 >
编程相关推荐