python Tkinter图形用户界面组件(鼠标、键盘事件)

编程知识 更新时间:2023-04-17 12:11:34
鼠标事件

所以得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(这个是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


http://blog.sina/s/blog_7f85f8a701014ms2.html

更多推荐

python Tkinter图形用户界面组件(鼠标、键盘事件)

本文发布于:2023-04-13 23:45:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/6519d5ddbf50b56ce051c4c95744a3e6.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:鼠标   用户界面   组件   图形   键盘

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 74063文章数
  • 14阅读数
  • 0评论数