後で削除またはアンパックできるという警告を付けて、ウィジェット(おそらくラベル)を作成する方法を探しています。
ウィジェットは問題なく生成できますが、名前が割り当てられていません。可能であれば、特定の匿名ウィジェットを削除する方法がわかりません。
私の最初の本能は、安定した規則で変数名を動的に作成することでしたが、それはワームの缶を不必要に開く可能性があります。その考え方を以下に示します。実行時に処理する数がわからないときに、特定のボタン ウィジェットを削除できるようにしたいと考えています。ありがとうございました。
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)
編集:私の機能要求は確かに近視眼的でした。私の最終的な目標は、Label ウィジェットと Button を並べて配置することです。どちらも、テスト ランチャーの「ステップ」となるものを構成します。ボタンをクリックすると、それ自体とそれぞれのラベルの両方が GUI から削除されます。ボタンのコールバックで両方のウィジェットを作成し、どちらかを削除することはできますが、両方を pack_forget するには、関数を定義する必要があると思います。私の問題は、def removeStepへの正しい参照を渡すことにあると思います。使用例を以下に示します: ....[これが私の RTFM で解決できる場合は、お気軽にお知らせください。見つけられませんでした]
テスト: PB&J を作成する
ステップ 0: パンを入手する [ステップを削除]
ステップ 1: PB を塗抹する [ステップを削除]
ステップ 2: ゼリーを塗る [ステップを削除]