删除焦点

2024-09-29 23:16:05 发布

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

我一直在研究validatecommand模式,如本文所述:

Interactively validating Entry widget content in tkinter

我的问题是,触发回调的entry小部件上的一个操作是“focusin”

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

我是不是走错路了?有没有另一种方法来连接entry小部件的focusin事件并仍然能够执行验证

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

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)

Tags: selfreturn部件def模式contentwidgetentry

热门问题