我想知道是否有任何方法可以繞過在 tkinter 中系結中使用的回呼函式中使用全域變數。
我指的是:
canvas = Canvas(root, width=500, height=500)
canvas.bind('<B1-Motion>', func)
這里func
現在是拖動滑鼠時所觸發的一些功能。我想要的是這樣的:
canvas.bind('<B1-Motion>', func(arg))
結合:
def func(event, arg):
commands
我可以從https://docs.python.org/3/library/tkinter.html看到一個引數,即事件本身,被賦予了回呼函式,但不提供這種方法似乎是浪費潛力以不同方式修改其回呼的任何方式。
也許我錯了,并且有一些技術原因為什么這在一般情況下是不可能的,或者也許有替代方法可以系結。
我基本上期待這樣的事情:
buttoname = Button(...,...,..., command = Lambda: func(arg))
如果有人有任何指示,將不勝感激。
問候
uj5u.com熱心網友回復:
使用lambda
接收事件引數并將其傳遞的 。
canvas.bind('<B1-Motion>', lambda e: func(e, arg))
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/398965.html