簡體   English   中英

canvas.bind(event,handler)如何將事件傳遞給事件處理程序?

[英]How does canvas.bind(event, handler) pass event to the event handler?

在Python中將參數傳遞給函數的主要方式是:

def function(x):
    # function definition

function(y)

也就是說,當我們調用function時,我們在圓括號內將一個值傳遞給它。

但是,我使用的是canvas.bind()因此canvas.bind()方法的工作原理如下:

def event_handler(event):
    # function definition

canvas.bind('event-name', event_handler)

也就是說,當canvas.bind調用方法event_handler ,它似乎沒有像人們期望的那樣將參數'event-name'傳遞給event_handler (即,通過執行event_handler('event-name') )。 相反,它只是不帶任何參數地調用event_handler

那么event-handler如何按照其定義接收應該接收的事件參數?

就像您期望的那樣。 在綁定中,您要提供要調用的函數的名稱 當事件觸發時,處理該事件的內部tkinter代碼實際上就像調用它一樣: event_handler(event)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM