Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python tkinter在焦点上删除_Python_Events_Tkinter - Fatal编程技术网

Python tkinter在焦点上删除

Python tkinter在焦点上删除,python,events,tkinter,Python,Events,Tkinter,我一直在研究validatecommand模式,如下所示: 我的问题是触发回调的条目小部件上的操作之一是“focusin” 我想用它来清除条目的内容,但是,条目对象似乎没有传递给回调 我是不是走错了路?是否有其他方法连接条目小部件的focusin事件并仍然能够执行验证 当然,我可以硬编码entry.delete,但我希望它可以用于GUI上的任何条目小部件 def onValidate(self, d, i, P, s, S, v, V, W): if self._is_number(S

我一直在研究validatecommand模式,如下所示:

我的问题是触发回调的条目小部件上的操作之一是“focusin”

我想用它来清除条目的内容,但是,条目对象似乎没有传递给回调

我是不是走错了路?是否有其他方法连接条目小部件的focusin事件并仍然能够执行验证

当然,我可以硬编码entry.delete,但我希望它可以用于GUI上的任何条目小部件

def onValidate(self, d, i, P, s, S, v, V, W):
    if self._is_number(S):
        return True
    else:
        self.bell()
        return False

def _add_widgets(self):
    vcmd = (self.register(self.onValidate), '%d', '%i', '%P', '%s', '%S', '%v', '%V', '%W')
    self.f_entry = ttk.Entry(self.window, width=5, validate="all", textvariable=self.fahrenheit, validatecommand=vcmd).grid(row=1, column=2)

验证功能只能用于验证。如果要在小部件获得焦点时删除,则应在
事件上设置绑定