1

複数のアイテムを含むメニューがあります。メニューの各アイテムは、機能に同じ GUI を使用します。必要な機能やメニュー項目ごとに、バックグラウンドでさまざまな処理が行われています。GUI コードの複数のコピーを作成し、それを個々の定義に割り当ててから、メニュー項目に特定のコマンド ラインを与えることができることを知っています。

ただし、特定の定義で gui コードを 1 回指定し、Tkinter/python がどのオプションが選択されたかを認識するその定義を実行できるようにする簡単な方法はありますか?

たとえば、次のようになります。

filemenu.add_command(label="Item-a", command=gui)
filemenu.add_command(label="Item-b", command=gui)
filemenu.add_command(label="Item-c", command=gui)

どちらが def gui を起動できますか? インターフェイスを描画する前に、アイテム a、b、または c が選択されたことを伝えることができるのはどれですか?

うまくいけば、これは理にかなっています。

アイデアはありますか?

ありがとう

4

1 に答える 1

2

あなたの質問を正しく理解できれば、次のようなことができます。

def gui(item):
    if item == 'a':
       pass # do something with a
    elif item == 'b':
       pass # do something with b

今あなたのファイルメニューで:

filemenu.add_command(label='Item-a', command=lambda : gui('a'))
filemenu.add_command(label='Item-b', command=lambda : gui('b'))

等々。

于 2012-07-19T17:15:34.743 に答える