前提
Tkinterでラべルを作り、そのラベルに関数(sub)をbindする際に、引数を付けたい
このコードを実行すると、ウインドウ(Root)が起動するのですが、なぜか起動と同時にsub関数も自動実行
されてしまいす。
該当のソースコード
Python
1 2import tkinter as tk 3 4def test(): 5 6 def sub(event,i): 7 lbl_a["text"] = 'てすとA' 8 print(i) 9 10 root = tk.Tk() 11 root.title("test") 12 root.geometry("200x100") 13 14 lbl_a = tk.Label(root,text="テスト") 15 lbl_a.pack() 16 lbl_a.bind("<Double-Button-1>",sub(lbl_a,1)) 17 18 lbl_b = tk.Label(root,text="テスト") 19 lbl_b.pack() 20 lbl_b.bind("<Double-Button-1>",sub(lbl_b,2)) 21 22root.mainloop() 23 24test()
試したこと
def sub(event)にし、lbl_a.bind("<Double-Button-1>",sub)に変更すると動くのですが、
変数を渡せません
補足情報(FW/ツールのバージョンなど)
Python 3.10

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/12/28 08:02
2022/12/28 08:30
2022/12/29 05:13