Tkinter我该如何重置对象列表?

2024-04-25 10:06:03 发布

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

昨天我问了这个问题Creating elements by loop Tkinter来了解如何动态地创建一些要点。现在我正在寻找添加一个清除按钮,这样当按下时,将重置整个表单。我试着把名单改回[]但没用。在

编辑-所以基本上,当我按下重置时,我希望它看起来像加载表单时一样。在


Tags: creatingloop编辑表单bytkinter动态elements
2条回答

使用destroy方法删除按钮:

    for button in self.button:
        button.destroy()

^{pr2}$

重新设置列表(即使用self.button = [])只会清除存储在button变量中的数据。仅此操作不连接到用户界面(UI)。您必须显式地删除由onEnter方法创建的widget对象。在

因此,您正在寻找的清除功能应该是可行的,通过扩展您前面的问题中的answer。向onClear类添加一个onClear方法,这样当选择“Clear”控件(即使用按钮小部件)时,其回调函数调用ButtonBlock.onClear(),类似于Entry小部件调用onEnter方法的方式。在

编辑:请参阅unutbu对此问题的回答。选中时,clear_button控件调用ButtonBlock.onClear()onClear中的for循环从button列表中获取对每个按钮ojbect的引用,并调用对象的destroy方法,该方法将其从UI中删除。在

相关问题 更多 >