python - Tkinter - 我将如何去重置对象列表?

标签 python user-interface tkinter

昨天我问了这个问题Creating elements by loop Tkinter了解如何动态创建一些要点。现在我想添加一个清除按钮,以便在按下时重置整个表单。我已尝试将列表设置回 [],但没有成功。

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

最佳答案

使用 destroy 方法删除按钮:

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

import Tkinter as tk

class ButtonBlock(object):
    def __init__(self, master):
        self.master = master
        self.button = []
        self.button_val = tk.IntVar()
        entry = tk.Entry()
        entry.grid(row=0, column=0)
        entry.bind('<Return>', self.onEnter)
        entry.focus()
        clear_button = tk.Button(master, text='Clear', command=self.onClear)
        clear_button.grid(row=0, column=1)
    def onClear(self):
        for button in self.button:
            button.destroy()
    def onEnter(self, event):
        entry = event.widget
        num = int(entry.get())
        self.onClear()
        for i in range(1, num+1):
            self.button.append(tk.Radiobutton(
                self.master, text=str(i), variable=self.button_val, value=i,
                command=self.onSelect))
            self.button[-1].grid(sticky='WENS', row=i, column=0, padx=1, pady=1)
    def onSelect(self):
        print(self.button_val.get())

if __name__ == '__main__':
    root = tk.Tk()
    ButtonBlock(root)
    root.mainloop()

关于python - Tkinter - 我将如何去重置对象列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15658767/

相关文章:

python - 如何做点击运行的一系列事件

python - functools中lru缓存的使用

python - 根据日期范围合并行

python - 在 Python 中公开 C++ 类(只能加载 ET_DYN 和 ET_EXEC)

android - 创建删除线文本?

Java 刽子手。如何创建多个按钮和 Action 监听器?

python - 如何在 pandas 中对表格数据进行分类和绘制

powershell - 打开 PowerShell 脚本并隐藏命令提示符,但不是 GUI

python - 为什么链接这些 Python tkinter checkbuttons?

python - 我正在尝试在 ubuntu 上的 sublime text 中的 python 上使用 tkinter,但我不断收到错误