如何在单击输入时清除输入框?

2024-04-19 14:39:35 发布

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

如何在单击时清除输入框

问题出在这里:

我在tkinter窗口中创建了一个空的输入框,该窗口使用类的init方法。我正在寻找一种方法来清除这个输入框点击。当我运行下面的代码片段时,输入框为空。我正在使用python 3.9。这是代码(我去掉了所有不相关的东西,如背景色、框架和列表):

from tkinter import *

class EntryBox:

    def __init__(self):
        self.box = Entry(width=37, text=" ")
        self.box.bind("<Button-1>", self.clear_value(self))
        self.box.grid(row=0)

    def clear_value(self, event): 
        self.box.delete(0, "end")
        return None


if __name__ == "__main__":
    root = Tk()
    root.title("Clear entry box")
    something = EntryBox()
    root.mainloop()

However the function fails to clear this entry box on click for some reason. Please help me, I appreciate any suggestions.


Tags: 方法代码selfbox框架initvaluetkinter