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压缩和解压缩zip文件的教程
May 06 Python
Java分治归并排序算法实例详解
Dec 12 Python
python http接口自动化脚本详解
Jan 02 Python
对python 各种删除文件失败的处理方式分享
Apr 24 Python
解决在Python编辑器pycharm中程序run正常debug错误的问题
Jan 17 Python
Python实现的爬取百度文库功能示例
Feb 16 Python
Python使用线程来接收串口数据的示例
Jul 02 Python
Django的用户模块与权限系统的示例代码
Jul 24 Python
python openCV获取人脸部分并存储功能
Aug 28 Python
python能做什么 python的含义
Oct 12 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
Nov 27 Python
python之随机数函数的实现示例
Dec 30 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
PHP5+UTF8多文件上传类
2008/10/17 PHP
PHP常用开发函数解析之数组篇[未完结]
2012/07/30 PHP
php基于GD库画五星红旗的方法
2015/02/24 PHP
PHP SOCKET编程详解
2015/05/22 PHP
PHP实现递归的三种方法
2020/07/04 PHP
[转]JS宝典学习笔记
2007/02/07 Javascript
jquery.validate使用攻略 第二部
2010/07/01 Javascript
在新窗口打开超链接的方法小结
2013/04/14 Javascript
jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate)
2014/05/22 Javascript
jQuery实现表格行上移下移和置顶的方法
2015/05/22 Javascript
AngularJS数据源的多种获取方式汇总
2016/02/02 Javascript
JavaScript深度复制(deep clone)的实现方法
2016/02/19 Javascript
基于jQuery倒计时插件实现团购秒杀效果
2016/05/13 Javascript
js关于getImageData跨域问题的解决方法
2016/10/14 Javascript
利用forever和pm2部署node.js项目过程
2017/05/10 Javascript
vue封装第三方插件并发布到npm的方法
2017/09/25 Javascript
React Native模块之Permissions权限申请的实例相机
2017/09/28 Javascript
JavaScript惰性求值的一种实现方法示例
2019/01/11 Javascript
JS动态显示倒计时效果
2019/12/12 Javascript
详解Vue中的Props与Data细微差别
2020/03/02 Javascript
js+canvas实现画板功能
2020/09/13 Javascript
[53:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第三场 6.2
2018/06/03 DOTA
python pandas 对时间序列文件处理的实例
2018/06/22 Python
SmartBuyGlasses比利时:购买品牌太阳镜和眼镜
2019/08/09 全球购物
教师的实习鉴定
2013/12/15 职场文书
小学数学教学反思
2014/02/02 职场文书
中学生演讲稿
2014/04/26 职场文书
党课培训心得体会
2014/09/02 职场文书
申报材料格式
2014/12/30 职场文书
2015年秋季学校开学标语
2015/07/16 职场文书
公司车辆管理制度
2015/08/04 职场文书
应收账款管理制度
2015/08/06 职场文书
消防安全培训工作总结
2015/10/23 职场文书
原生CSS实现文字无限轮播的通用方法
2021/03/30 HTML / CSS
JavaScript异步操作中串行和并行
2021/11/20 Javascript
python中 .npy文件的读写操作实例
2022/04/14 Python