Next: index參數 | Previous: Tk選項資料型別 | 內容
繫結及事件
來自元件命令的 bind 方法允許你可以注意特定的事件以及可以有一個回呼函式在事件型態發生時觸發,bind方法的格式是:
def bind(self, sequence, func, add=''):
在這裡:
- sequence
- 是一個表示事件的目標種類的字串(查看bind線上文件及John Ousterhout書的p.201)。
- func
- 是python函式,它有一個引數,並且在事件發生時被叫喚,事件的實體會當作引數傳遞(函式展開這種方式就是我們所知的回呼)。
- add
- 是選擇性的,不是 “” 就是”+”,傳遞一個空的字串表示這個繫結會去取代跟這個事件有關的任何其他的繫結,傳遞 “+”意味著這個函式是要增加到與這種事件型態有密切關係的函式列表。
舉例:
def turnRed(self, event):
event.widget[“activeforeground”] = “red”
self.button.bind(“”, self.turnRed)
注意這個事件的元件欄位是如何在turnRen回呼中被存取,這個欄位含有元件來捕捉X事件,下面的表格列出你可以存取得其他事件欄位,以及他們在Tk中如何表示,這在參考Tk線上文件時很有用。
Tk Tkinter 事件欄位 Tk Tkinter 事件欄位 -- ------------------- -- ------------------- %f focus %A char %h height %E send_event %k keycode %K keysym %s state %N keysym_num %t time %T type %w width %W widget %x x %X x_root %y y %Y y_root
3 則留言