How to clear the Entry widget after a button is pressed in Tkinter?

后端 未结 11 1090
渐次进展
渐次进展 2020-12-01 10:44

I\'m trying to clear the Entry widget after the user presses a button using Tkinter.

I tried using ent.delete(0, END), but I got an error

11条回答
  •  庸人自扰
    2020-12-01 11:09

    After poking around a bit through the Introduction to Tkinter, I came up with the code below, which doesn't do anything except display a text field and clear it when the "Clear text" button is pushed:

    import tkinter as tk
    
    class App(tk.Frame):
        def __init__(self, master):
            tk.Frame.__init__(self, master, height=42, width=42)
            self.entry = tk.Entry(self)
            self.entry.focus()
            self.entry.pack()
            self.clear_button = tk.Button(self, text="Clear text", command=self.clear_text)
            self.clear_button.pack()
    
        def clear_text(self):
            self.entry.delete(0, 'end')
    
    def main():
        root = tk.Tk()
        App(root).pack(expand=True, fill='both')
        root.mainloop()
    
    if __name__ == "__main__":
        main()
    

提交回复
热议问题