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中封装GObject模块进行图形化程序编程的教程
Apr 14 Python
利用Python为iOS10生成图标和截屏
Sep 24 Python
使用Python中的tkinter模块作图的方法
Feb 07 Python
利用Anaconda完美解决Python 2与python 3的共存问题
May 25 Python
Python subprocess模块详细解读
Jan 29 Python
Python实现删除时保留特定文件夹和文件的示例
Apr 27 Python
Python中正则表达式的用法总结
Feb 22 Python
Apache,wsgi,django 程序部署配置方法详解
Jul 01 Python
Python循环结构的应用场景详解
Jul 11 Python
Python中注释(多行注释和单行注释)的用法实例
Aug 28 Python
pandas实现DataFrame显示最大行列,不省略显示实例
Dec 26 Python
解决Pycharm 导入其他文件夹源码的2种方法
Feb 12 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
用PHP调用数据库的存贮过程!
2006/10/09 PHP
PHP实现MVC开发得最简单的方法――模型
2007/04/10 PHP
php与mysql建立连接并执行SQL语句的代码
2011/07/04 PHP
浅析51个PHP处理字符串的函数
2013/08/02 PHP
浅析Yii2中GridView常见操作
2016/04/22 PHP
PHP实现的DES加密解密封装类完整实例
2017/04/29 PHP
基于PHP实现栈数据结构和括号匹配算法示例
2017/08/10 PHP
PHP实现数组根据某个单元字段排序操作示例
2018/08/01 PHP
兼容IE和FF的js脚本代码小结(比较常用)
2010/12/06 Javascript
一个基于jQuery的树型插件(OrangeTree)使用介绍
2012/05/03 Javascript
通过js获取div的background-image属性
2013/10/15 Javascript
javascript基本包装类型介绍
2015/04/10 Javascript
js+css简单实现网页换肤效果
2015/12/29 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
2016/03/24 Javascript
js正则表达式验证表单【完整版】
2017/03/06 Javascript
基于vue2.0动态组件及render详解
2018/03/17 Javascript
[01:11:11]Alliance vs RNG 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
python3抓取中文网页的方法
2015/07/28 Python
python爬取拉勾网职位数据的方法
2018/01/24 Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
2018/03/04 Python
python opencv检测目标颜色的实例讲解
2018/04/02 Python
python爬虫实例详解
2018/06/19 Python
说说如何遍历Python列表的方法示例
2019/02/11 Python
Pytest框架之fixture的详细使用教程
2020/04/07 Python
python 连续不等式语法糖实例
2020/04/15 Python
通过案例解析python鸭子类型相关原理
2020/10/10 Python
HTML5 Plus 实现手机APP拍照或相册选择图片上传功能
2016/07/13 HTML / CSS
Html5移动端获奖无缝滚动动画实现示例
2018/06/25 HTML / CSS
基于HTML5+tracking.js实现刷脸支付功能
2020/04/16 HTML / CSS
数据库专业英语
2012/11/30 面试题
医学检验专业大学生求职信
2013/11/18 职场文书
法人授权委托书范本
2014/04/04 职场文书
2015年个人实习工作总结
2015/05/28 职场文书
matplotlib之pyplot模块实现添加子图subplot的使用
2021/04/25 Python
Pycharm连接远程服务器并远程调试的全过程
2021/06/24 Python