python - 在 Tkinter 中按下按钮后如何清除 Entry 小部件?

标签 python user-interface widget tkinter

我正在尝试在用户使用 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/

相关文章:

java - Android小部件未多次更新

javascript - Transcrypt 和 .mod.js 文件

python - Pandas:从旧列创建新列,添加值

user-interface - 您如何控制您的应用程序在哪个监视器上打开?

java - GUI 无法读取 JTextField

java - 为什么 getDocumentFilter 需要转换为 AbstractDocument?

python - Jupyter notebook 上的多个依赖小部件(下拉菜单)

flutter - Flutter-小部件的状态未更改

python - 如何在水平布局中调整小部件的大小

python - 在python中查找哪个函数正在使用给定的类