特金特隐藏提示

2024-10-02 08:27:38 发布

您现在位置:Python中文网/ 问答频道 /正文

当我选择用户名和密码部分时,如何自动删除此提示?(单击后不显示)

from tkinter import *
root =Tk()
def save_fonc():
    kul=entry1.get()
    pas=entry2.get()
    print("Username:",kul,"Password:",pas)

#------------------
entry1=Entry(root)
entry1.insert(0,"Username")
entry1.pack()
#------------------
entry2=Entry(root)
entry2.insert(0,"Password")
#entry2.config(show="*")#and also I don't want to show password section.
entry2.pack()
#------------------
buton_kaydet=Button(root,text="Enter",command=save_fonc)
buton_kaydet.pack()

root.geometry("300x200")
root.mainloop()

Tags: getsaveshowusernamerootpasswordpaspack
3条回答

单击标签时,只需删除文本即可

例如:

from tkinter import *
root = Tk()

def clear_text(event):
    event.widget.delete(0, "end")

entry1=Entry(root)
entry1.insert(0,"Username")
entry1.pack()
entry1.bind("<FocusIn>", clear_text)

它所做的是将它绑定到函数clear_textclear_text清除标签中的文本

完整代码:

from tkinter import *
root =Tk()
def save_fonc():
    kul=entry1.get()
    pas=entry2.get()
    print("Username:",kul,"Password:",pas)

def clear_text(event):
    event.widget.delete(0, "end")

#         
entry1=Entry(root)
entry1.insert(0,"Username")
entry1.pack()
entry1.bind("<FocusIn>", clear_text)
#         
entry2=Entry(root)
entry2.insert(0,"Password")
entry2.config(show="*")#and also I don't want to show password section.
entry2.pack()
entry2.bind("<FocusIn>", clear_text)
#         
buton_kaydet=Button(root,text="Enter",command=save_fonc)
buton_kaydet.pack()

root.geometry("300x200")
root.mainloop()

制作一个清除输入框中文本的函数,然后将其绑定到函数中

&13; 第13部分,;
def removeValue(event):
    event.widget.delete(0, 'end')
    
和#13;
和#13;

现在,您可以改进您的代码:

from tkinter import *
root = Tk()


def save_fonc():
    kul = entry1.get()
    pas = entry2.get()
    print("Username:", kul, "Password:", pas)


def pass_func(event):
    entry2.delete(0, 'end')
    entry2.config(show='*')

#          
entry1 = Entry(root)
entry1.insert(0, "Username")
entry1.pack()
entry1.bind('<FocusIn>', lambda e: entry1.delete(0, 'end'))
#          
entry2 = Entry(root)
entry2.insert(0, "Password")
entry2.pack()
entry2.bind('<FocusIn>', pass_func)
#          
buton_kaydet = Button(root, text="Enter", command=save_fonc)
buton_kaydet.pack()

root.geometry("300x200")
root.mainloop()

因此,基本上.bind将每个条目绑定到一个事件,在本例中:'<FocusIn>',当焦点切换到该小部件时触发该事件。同样,在第二种情况下,条目仅在事件触发后配置,以便“密码”正常可见

相关问题 更多 >

    热门问题