Chinaunix首页 | 论坛 | 博客
  • 博客访问: 497660
  • 博文数量: 74
  • 博客积分: 750
  • 博客等级: 军士长
  • 技术积分: 1453
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-29 15:59
文章分类
文章存档

2014年(30)

2013年(8)

2012年(36)

分类: Python/Ruby

2013-05-27 09:29:51

鼠标事件

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

  鼠标指针在组件上方时,鼠标按钮n被按下,n为1左键,2中键,3右键,例如 ,缩写形式为 ,
  鼠标按钮n被松开
   在按住鼠标按钮n的同时,鼠标发生移动
  对组件双击或者三击,prefix可以选Double,Triple,比如
   鼠标进入组件
   鼠标离开组件

self.bind("",self.leftClick)

def leftClick(self,event):
   event.x x轴坐标  event.y y轴坐标

键盘事件
  按下任意的键


   松开任意键
,  按下或者松开key
, 分别是, 的简写形式,一般不要用这个简化形式
   的简化形式,该格式只用于可打印字符(空格和小于符号不包含在内,呵呵???
        很奇怪哦)
   在按住prefix的同时,按下key。prefix可选项是Alt,Shift,Control,当然也可以同时使用多个prefix,比如


python 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
阅读(2117) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~