您的位置:首页 > 编程语言 > Python开发

python Tkinter图形用户界面组件(布局管理器) 二

2012-09-03 10:50 375 查看
鼠标事件

所以得Tkinter事件都用字符串描述,格式为<modifier-type-detail>,type(Button,Return)指定事件种类,modifier是指Double这样的前缀,detail则是指具体的鼠标按钮

<ButtonPress-n> 鼠标指针在组件上方时,鼠标按钮n被按下,n为1左键,2中键,3右键,例如<ButtonPress-1>,缩写形式为<Button-n>,<n>

<ButtonRelease-n> 鼠标按钮n被松开

<Bn-Motion> 在按住鼠标按钮n的同时,鼠标发生移动

<prefix-Button-n> 对组件双击或者三击,prefix可以选Double,Triple,比如<Double-Button-1>

<Enter> 鼠标进入组件

<Leave> 鼠标离开组件

self.bind("<Button-1>",self.leftClick)

def leftClick(self,event):

event.x x轴坐标 event.y y轴坐标

键盘事件

<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>





键盘中间的那些字母,外加(,。/ ' ; [ ] { } \ | ? >< :")可以用event.char显示。event.char甚至可以显示中文,这一点让我尤为震惊,如果你绑定了一个KeyPress的事件,并且打印event.char,那些当你启动中文输入法的时候,你打的(一次性打的)最后一个字便是event.char,连打的话只能显示最后那个字。

而event.keysym能够显示

Escape,F1....F12,Scroll_Lock,Pause,Insert,Delete,Home,Prior(这个是pageup),Next(这个是pagedown),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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: