繫結及事件

[ 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

感謝你看到這裡,很快就可以離開了,但最好的獎勵行動就是按一下幫我分享或留言,感恩喔~

點我分享到Facebook

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *