推 darkgerm:那是 lambda 的語法,event 是 lambda 的參數名字 07/23 12:05
→ darkgerm:f=lambda x,y: None 就跟 def f(x,y): return None 一樣 07/23 12:06
→ uranusjr:我想他的問題是那個傳進來的參數是哪來的 07/23 12:09
推 ck574b027:看到他用的標題我想的也跟一樓一樣,覺得他被用字誤導了 07/23 12:22
→ ya790206:哪套 gui lib? tkinter ? 07/23 12:57
→ FreedomMax:是 tkinter 沒錯 07/23 19:03
→ FreedomMax:我是知道那是參數,但是bind時並沒有給任何東西 07/23 19:04
→ FreedomMax:所以我在想,如果是我自己寫bind要怎麼接跟傳那個參數 07/23 19:05
→ FreedomMax:因為bind規定一定要有那個參數event,所以我不太懂運作 07/23 19:05
※ 編輯: FreedomMax 來自: 61.58.66.233 (07/23 19:19)
→ os653:看不太懂你的問題,如果答非所問請自動忽略 07/24 01:09
→ os653:看起來你搞錯bind的功能,bind不是幫你呼叫function的,bind 07/24 01:09
→ os653:是幫你註冊一個函數,讓系統在事件發生的時候自動調用。實際 07/24 01:12
→ os653:上呼叫該function的系統應該是類似大型的無限迴圈,它會一直 07/24 01:16
→ os653:檢查有沒有事件(event)發生,有事件發生的話,找找看有沒有 07/24 01:17
→ os653:註冊來處理該事件的函數,有就呼叫該函數,沒有就呼叫預設的 07/24 01:17
→ os653:處理函數。呼叫處理函數時給的參數格式當然是固定的,通常第 07/24 01:19
→ os653:一個就是該事件本身,可以讓處理函數知道該事件是由哪裡產生 07/24 01:23
→ os653:(滑鼠、鍵盤、etc..),第二個以後的就不一定,看tkinter規定 07/24 01:26
→ os653:建議去看wxpython in action這本書的第三章,Working in an 07/24 01:27
→ os653:event-driven enviroment,網路上中英文版都有,雖然實作上 07/24 01:28
→ os653:與tkinter絕對不同,但中心思想沒啥差,看完應該就能了解了 07/24 01:34
→ os653:題外話,tkinter其實不怎麼好用,資料也不大好找...也許是我 07/24 01:36
→ os653:太弱的關係XD 除了不用另外安裝以外,沒啥特別突出的優點 07/24 01:38
→ FreedomMax:感謝大大,其實我是知道他背後應該是有個事件隊列 07/24 04:03
→ FreedomMax:但我現在是打算假設換成是我要做那個bind 07/24 04:04
→ FreedomMax:那個event我是不知道誰傳過去的、以及誰去接收 07/24 04:05
→ FreedomMax:我該如何有辦法接收到那個lambda 中的 event 07/24 04:18
→ os653:tkinter底層是Tcl/Tk,所以想做到bind的功能應該很麻煩耶, 07/24 05:03
→ os653:如果不侷限在tkinter的話,wxpython要寫一個自己的bind倒是 07/24 05:03
→ os653:簡單許多 07/24 05:05
→ os653:把所有事件註冊到同一個函數在自己分派出去不知道可不可行? 07/24 05:12