基本的に、ボタンを押すとウィンドウに何かが追加されるボタンが必要です。最小限のコードは次のとおりです。
from Tkinter import *
def create_line (N):
""" """
Label (root, text= "Color ").grid(row=N, column=0, padx=3)
OptionMenu (root, v, *optionList).grid(row=N, column=1, padx=3)
Button (root, text="+", command=add_line(N)).grid(row=N, column=2, padx=3)
def add_line (M):
M = M +1
Label (root, text= "Color ").grid(row=M, column=0, padx=3)
OptionMenu (root, v, *optionList).grid(row=M, column=1, padx=3).grid(row=M,
column=2, padx=3)
return 1
root = Tk()
optionList = ("red", "green", "blue")
current_row = 0
v = StringVar()
v.set(optionList[0])
create_line(current_row)
mainloop()
add_line関数内のコード(戻り行を除く)をコメントアウトしてコードを実行すると、ラベル、オプションメニュー、およびボタンが表示されます。「+」ボタンで同じウィジェットを使用して別の行を作成したいと思います。この最小限のコードは私の実際のアプリではありませんが、これは私ができないことの核心です。
ボタンを押すとメニューオプションを動的に変更するアプリをダウンロードしたので、それができることはわかっていますが、そのテクニックはうまくいかないようです。
ありがとう。