我正在尝试在用户使用 Tkinter 按下按钮后清除 Entry
小部件。
我尝试使用 ent.delete(0, END)
,但我收到一条错误消息,提示字符串没有属性 delete。
这是我的代码,我在 real.delete(0, END)
上遇到错误:
secret = randrange(1,100)
print(secret)
def res(real, secret):
if secret==eval(real):
showinfo(message='that is right!')
real.delete(0, END)
def guess():
ge = Tk()
ge.title('guessing game')
Label(ge, text="what is your guess:").pack(side=TOP)
ent = Entry(ge)
ent.pack(side=TOP)
btn=Button(ge, text="Enter", command=lambda: res(ent.get(),secret))
btn.pack(side=LEFT)
ge.mainloop()
最佳答案
在浏览了Introduction to Tkinter 之后,我想出了下面的代码,除了显示一个文本字段并在按下 "Clear text"
按钮时将其清除之外,它什么也不做:
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()
关于python - 在 Tkinter 中按下按钮后如何清除 Entry 小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2260235/