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 相关文章推荐
Python2.5/2.6实用教程 入门基础篇
Nov 29 Python
Python判断某个用户对某个文件的权限
Oct 13 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
Mar 31 Python
python excel使用xlutils类库实现追加写功能的方法
May 02 Python
python3 selenium自动化测试 强大的CSS定位方法
Aug 23 Python
基于梯度爆炸的解决方法:clip gradient
Feb 04 Python
Python中的wordcloud库安装问题及解决方法
May 27 Python
使用Python FastAPI构建Web服务的实现
Jun 08 Python
解决Python3.7.0 SSL低版本导致Pip无法使用问题
Sep 03 Python
Python操作dict时避免出现KeyError的几种解决方法
Sep 20 Python
python 实用工具状态机transitions
Nov 21 Python
opencv实现图像平移效果
Mar 24 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
基于数据库的在线人数,日访问量等统计
2006/10/09 PHP
PHP可变函数的使用详解
2013/06/14 PHP
用PHP来计算某个目录大小的方法
2014/04/01 PHP
Yii中的relations数据关联查询及统计功能用法详解
2016/07/14 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
2016/09/23 PHP
PHP简单预防sql注入的方法
2016/09/27 PHP
PHP中Cookie的使用详解(简单易懂)
2017/04/28 PHP
js 方法实现返回多个数据的代码
2009/04/30 Javascript
php对mongodb的扩展(初识如故)
2012/11/11 Javascript
javascript 数字格式化输出的实现代码
2013/12/10 Javascript
JavaScript用JQuery呼叫Server端方法示例代码
2014/09/03 Javascript
JavaScript基础教程之alert弹出提示框实例
2014/10/16 Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
2014/10/19 Javascript
使用cluster 将自己的Node服务器扩展为多线程服务器
2014/11/10 Javascript
js css3实现图片拖拽效果
2017/03/04 Javascript
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
jQuery使用JSONP实现跨域获取数据的三种方法详解
2017/05/04 jQuery
解决Vue编译时写在style中的路径问题
2017/09/21 Javascript
JS设计模式之访问者模式定义与用法分析
2018/02/05 Javascript
JavaScript实现点击出现图片并统计点击次数功能示例
2018/07/23 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
2018/11/30 Javascript
JavaScript中concat复制数组方法浅析
2019/01/20 Javascript
Jquery滑动门/tab切换实现方法完整示例
2020/06/05 jQuery
[03:18]DOTA2放量测试专访820:希望玩家加入国服大家庭
2013/08/25 DOTA
Python中用Descriptor实现类级属性(Property)详解
2014/09/18 Python
python获取网页中所有图片并筛选指定分辨率的方法
2018/03/31 Python
Python 统计字数的思路详解
2018/05/08 Python
python中struct模块之字节型数据的处理方法
2019/08/27 Python
Django框架反向解析操作详解
2019/11/28 Python
Django如何实现密码错误报错提醒
2020/09/04 Python
html5 Canvas画图教程(1)—画图的基本常识
2013/01/09 HTML / CSS
ktv周年庆活动方案
2014/08/18 职场文书
反四风个人对照检查材料
2014/09/26 职场文书
热爱劳动主题班会
2015/08/14 职场文书
Java实现聊天机器人完善版
2021/07/04 Java/Android
Vue router配置与使用分析讲解
2022/12/24 Vue.js