我正在寻找一种方法来创建令人作呕的小部件(很可能是标签),但需要注意的是它们可以在以后被删除或解包。
我可以很好地生成小部件,但没有为它们分配名称。如果可能的话,我不明白我将如何删除某个匿名小部件。
我的第一个直觉是动态地创建具有稳定约定的变量名,但这可能会不必要地打开一罐蠕虫。这个想法表达如下。我希望能够删除某个 Button 小部件,而在运行时不知道我将处理多少。谢谢你。
from Tkinter import *
import time
import ttk
def onDoubleClick(event):
item = t.selection()
#print "you clicked on", t.item(item,"text")
if (t.item(item,"text")=="Start IO"):
Button2 = Button(frame2,text="Button2",command=but).pack()
def but():
pack_forget()
root=Tk()
root.geometry("800x300")
frame1 = Frame(root)
frame2 = Frame(root)
t=ttk.Treeview(frame1)
t.heading("#0",text="Test steps")
t.insert("",0,"IO",text="IO")
t.insert("IO","end",text="Start")
t.bind("<Double-1>", onDoubleClick)
t.pack()
frame1.pack(side=LEFT)
frame2.pack(side=LEFT)
编辑:我的功能要求无疑是短视的。我的最终目标是同时拥有一个标签小部件和一个按钮,两者都包含测试启动器中的“步骤”。单击该按钮将从 GUI 中删除其自身及其各自的标签。我能够创建两个小部件并在 Button 的回调中删除其中任何一个,但要 pack_forget 两者,我相信我需要定义一个函数。我相信我的问题在于传递对def removeStep的正确引用一个用例如下图所示:....[如果这可以解决我的 RTFM 请随时告诉我,我只是找不到它]
测试:制作 PB&J
步骤 0:获取面包 [删除步骤]
步骤 1:涂抹 PB [删除步骤]
步骤 2:涂抹果冻 [删除步骤]