python-3.x Tkinter,我可以清除所有输入错误后的输入并按下'提交'按钮吗?

qnyhuwrf  于 2023-08-08  发布在  Python
关注(0)|答案(2)|浏览(90)

当用户有输入错误并按“提交”按钮时。将显示无效消息框**。无效消息框被用户关闭后,我希望用户输入的内容可以被清除
我搜索了一些信息。有人建议使用“delete”。但是,我得到一些错误当我使用'delete'
有人建议将入口变量再次设置为“”。但是,我很困惑应该在哪里重置变量
有人能告诉我怎么做吗?

def user_login(window):
    # some codes to find whether valid or not. Valid: found = True
    entry_value = entry_value.get()
    if found:
        messagebox.showinfo(title='Successful login',
                            message='Valid password. Welcome to 7vinBB air traffic control system !')
    else:
        messagebox.showerror(title='Error',
                             message='Invalid password. Please enter again. You have  ' + str(5-count1) + ' times left')

class LoginFrame(Frame):
    def __init__(self, master):
         super().__init__(master)
         self.entry_value = entry(self,
                                  font='Courier 17')
         self.login_button = button(command=lambda: user_login(root))

         self.entry_value.place(x=330, y=245)      
         self.login_button.place(x=440, y=420)

 root = Tk()
 lf = LoginFrame(root)
 root.mainloop()

字符串

yrefmtwq

yrefmtwq1#

使用delete是一个很好的选择
这样使用它:

<entry widget>.delete(0, 'end')

字符串
指定第一个位置(索引),end表示最后一个位置(结束)
在你的情况下,它将是:

entry_value.delete(0, 'end')


希望这能回答你的问题!

1mrurvl1

1mrurvl12#

username.delete(0, END)

password.delete(0,END)

username=tk.Entry(root)
username.grid(row=0,col=1)  

password=tk.Entry(root)
password.grid(row=1,col=1)

字符串
username和password是用于在其中输入值的字段(或)条目的名称。

相关问题