python对绑定事件的鼠标、按键的判断实例


Posted in Python onJuly 17, 2019

当多个事件绑定了同一个命令,那么在命令内部根据不同的事件进行处理的时候,怎么确定哪个事件发生了呢,用下面的来检测,经过测试处理tab键和alt键不能识别,其他单个都能被识别。

还有个事件的type属性,这个经过测试键盘事件返回字符2,鼠标返回字符2,可以根据这个再进行判断反会的是键盘事件还是鼠标事件。

# <Button-1>:鼠标左击事件
# <Button-2>:鼠标中击事件
# <Button-3>:鼠标右击事件
# <Double-Button-1>:双击事件
# <Triple-Button-1>:三击事件

from tkinter import *
tk = Tk()
canvas = Canvas(width=500,height=500)
canvas.pack()


#canvas.create_polygon(0,0,250,250,fill = 'red')

def echo_event(evt):
 #打印键盘事件
 if evt.type == "2":
  print("键盘:%s" % evt.keysym)
 #打印鼠标操作
 if evt.type == "4":
  print("鼠标: %s" % evt.num)
 #
 print(evt.type)

#键盘事件
canvas.bind_all("<KeyPress>",echo_event)
#如果绑定指定的键盘,则"<Key>" 或者"<KeyPress>"都可以,具体到指定键的话后面加入下划线和指定的键就好了,如:绑定小写字母t和Left键
canvas.bind_all("<KeyPress-t>",echo_event)
canvas.bind_all("<KeyPress-Left>",echo_event)
#鼠标事件
canvas.bind_all("<Double-Button-1>",echo_event)
canvas.bind_all("<Button-1>",echo_event)
canvas.bind_all("<Button-2>",echo_event)
canvas.bind_all("<Button-3>",echo_event)

以上这篇python对绑定事件的鼠标、按键的判断实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现统计代码行数的方法
May 22 Python
深入解析Python中的变量和赋值运算符
Oct 12 Python
浅析Python中的for 循环
Jun 09 Python
Python进阶之递归函数的用法及其示例
Jan 31 Python
Python爬虫获取图片并下载保存至本地的实例
Jun 01 Python
详解django.contirb.auth-认证
Jul 16 Python
使用Python实现一个栈判断括号是否平衡
Aug 23 Python
对python dataframe逻辑取值的方法详解
Jan 30 Python
简单了解python中的与或非运算
Sep 18 Python
python函数超时自动退出的实操方法
Dec 28 Python
Python 把两层列表展开平铺成一层(5种实现方式)
Apr 07 Python
python manim实现排序算法动画示例
Aug 14 Python
Django model update的多种用法介绍
Mar 28 #Python
Django model select的多种用法详解
Jul 16 #Python
python删除文件夹下相同文件和无法打开的图片
Jul 16 #Python
Python split() 函数拆分字符串将字符串转化为列的方法
Jul 16 #Python
python实现字符串完美拆分split()的方法
Jul 16 #Python
python如何删除文件中重复的字段
Jul 16 #Python
python字符串切割:str.split()与re.split()的对比分析
Jul 16 #Python
You might like
2019年中国咖啡业现状与发展趋势
2021/03/04 咖啡文化
PHP微信模板消息操作示例
2017/06/29 PHP
php post换行的方法
2020/02/03 PHP
IE浏览器PNG图片透明效果代码
2008/09/02 Javascript
理解Javascript_05_原型继承原理
2010/10/13 Javascript
nodejs 后缀名判断限制代码
2011/03/31 NodeJs
jQuery插件开发基础简单介绍
2013/01/07 Javascript
jQuery ajax dataType值为text json探索分享
2013/09/23 Javascript
jquery基础教程之deferred对象使用方法
2014/01/22 Javascript
JavaScript闭包实例讲解
2014/04/22 Javascript
微信小程序中form 表单提交和取值实例详解
2017/04/20 Javascript
用Node编写RESTful API接口的示例代码
2018/07/04 Javascript
解决jquery的ajax调取后端数据成功却渲染失败的问题
2018/08/08 jQuery
Element-ui之ElScrollBar组件滚动条的使用方法
2018/09/14 Javascript
Python的Django框架中模板碎片缓存简介
2015/07/24 Python
python操作字典类型的常用方法(推荐)
2016/05/16 Python
如何利用Fabric自动化你的任务
2016/10/20 Python
Python处理文本文件中控制字符的方法
2017/02/07 Python
Django项目主urls导入应用中views的红线问题解决
2019/08/10 Python
Python高级特性 切片 迭代解析
2019/08/23 Python
TensorFlow实现自定义Op方式
2020/02/04 Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
2020/02/14 Python
Html5 canvas画图白板踩坑
2020/06/01 HTML / CSS
HTML5图片层叠的实现示例
2020/07/07 HTML / CSS
NFL Game Pass欧洲:在线观看NFL比赛直播和点播,以高清质量播放
2018/08/30 全球购物
Arti-shopping中文官网:大型海外商品一站式直邮平台
2020/03/23 全球购物
薇姿法国官网:Vichy法国
2021/01/28 全球购物
如何配置、使用和清除Smarty缓存
2015/12/23 面试题
秘书专业自荐信范文
2013/12/26 职场文书
业务副厂长岗位职责
2014/01/03 职场文书
预备党员转正思想汇报
2014/01/12 职场文书
社团活动总结范文
2014/04/26 职场文书
住房租房协议书
2014/08/20 职场文书
个人违纪检讨书
2014/09/15 职场文书
python实现剪贴板的操作
2021/07/01 Python
排查MySQL生产环境索引没有效果
2022/04/11 MySQL