1. 程式人生 > >python Tkinter圖形使用者介面元件(滑鼠、鍵盤事件)

python Tkinter圖形使用者介面元件(滑鼠、鍵盤事件)

<KeyPress>  按下任意的鍵


<KeyRelease>   鬆開任意鍵
<KeyPress-key>,<KeyRelease-key>  按下或者鬆開key
<Key>,<Key-key> 分別是<KeyPress>,<KeyPress-key> 的簡寫形式,一般不要用這個簡化形式
<key>   <KeyPress-key>的簡化形式,該格式只用於可列印字元(空格和小於符號不包含在內,呵呵???
        很奇怪哦)
<Prefix-key>   在按住prefix的同時,按下key。prefix可選項是Alt,Shift,Control,當然也可以同時使用多個prefix,比如<Control-Alt-key>


python <wbr>Tkinter圖形使用者介面元件(滑鼠、鍵盤事件)二

鍵盤中間的那些字母,外加(,。/ ' ; [ ] { } \ | ? > < : ")可以用event.char顯示。event.char甚至可以顯示中文,這一點讓我尤為震驚,如果你綁定了一個KeyPress的事件,並且列印event.char,那些當你啟動中文輸入法的時候,你打的(一次性打的)最後一個字便是event.char,連打的話只能顯示最後那個字。
而event.keysym能夠顯示
Escape,F1....F12,Scroll_Lock,Pause,Insert,Delete,Home,Prior(這個是page up),Next(這個是page down),End,Up,Right,Left,Down,Shitf_L,Shift_R,Control_L,Control_R,Alt_L,Alt_R,Win_L,App(這個鍵我從來沒用過,位於右邊的alt與ctrl之間),Caps_Lock,Tab,

有的時候,輸入法的不同也會影響這些值,
比如用美式鍵盤的時候,event.keysym也可以顯示(, . / ' ; [ ] | `這些)
但是用搜狗的英文輸入的時候就不能顯示了

` quoteleft
{ braceleft
[ bracketleft
\ blackslash
| bar
; semicolon
: colon
' quoteright
" quotedbl
, comma
. period
/ slash
< less
> greater