tkinter 对键盘和鼠标事件的处理

简介: 鼠标事件 鼠标按钮n被按下,n为1左键,2中键,3右键 鼠标按钮n被松开 ...

鼠标事件

<ButtonPress-n>     <Button-n>      <n>                         鼠标按钮n被按下,n为1左键,2中键,3右键
<ButtonRelease-n>                                               鼠标按钮n被松开
<Double-Button-n>                                               鼠标按钮n被双击
<Triple-Button-n>                                               鼠标按钮n被三击
<Motion>                                                        鼠标被按下,同时,鼠标发生移动
<Bn-Motion>                                                     鼠标按钮n被按下,同时,鼠标发生移动
<Enter>                                                         鼠标进入
<Leave>                                                         鼠标离开
<MouseWheel>                                                    鼠标滚轮滚动

键盘事件

<Any-KeyPress>      <KeyPress>      <Key>                       任意键按下
<KeyRelease>                                                    任意键松开
<KeyPress-key>      <Key-key>       <key>                       特定键按下
<KeyRelease-key>                                                特定键松开
<Control-Shift-Alt-KeyPress-key>    <Control-Shift-Alt-key>     组合键按下(Alt,Shift,Control任选一到三个)

对于大多数的单字符按键,你还可以忽略“<>”符号。但是空格键和尖括号键不能这样做(正确的表示分别为

特殊键的键名

<Return>
<Escape>
<space>
<Tab>
<Up>
<Right>
<Left>
<Down>
<Shitf_L>
<Shift_R>
<Control_L>
<Control_R>
<Alt_L>
<Alt_R>
<F1>
...
<F12>

根据事件,查看按键

event.char          可见字符,甚至中文
event.keysym        用字符串命名了按键
event.keycode       用按键码命名了按键,但是它不能反映事件前缀:Alt、Control、Shift、Lock,并且它不区分大小写写按键,即输入a和A是相同的键码。
event.keysym_num    用数字代码命名了按键
event.Key           描述了键盘上的按键名,方便一一对应
目录
相关文章
|
消息中间件 Java 关系型数据库
后端接口性能优化分析
后端接口性能优化分析
526 0
|
3月前
|
人工智能 数据处理
Qoder 全新「上下文压缩」功能正式上线,省 Credits !
Qoder 全新「上下文压缩」功能正式上线,高效管理会话上下文,节省开发成本,同时保持高效协作!
|
3月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
286 1
|
3月前
|
前端开发 Java 开发者
MVC 架构模式技术详解与实践
本文档旨在全面解析软件工程中经典且至关重要的 MVC(Model-View-Controller) 架构模式。内容将深入探讨 MVC 的核心思想、三大组件的职责与交互关系、其优势与劣势,并重点分析其在现代 Web 开发中的具体实现,特别是以 Spring MVC 框架为例,详解其请求处理流程、核心组件及基本开发实践。通过本文档,读者将能够深刻理解 MVC 的设计哲学,并掌握基于该模式进行 Web 应用开发的能力。
505 1
|
5月前
|
存储 算法 Windows
【硬盘容量缩水真相】新买的U盘插上那刻我崩溃了:标称128G的存储为何只剩112G?
新买的硬盘或U盘在Windows中显示的容量为何与标称不符?其实并非商家“坑”,而是存储单位换算标准不同所致。本文详解bit、Byte、KB、MB、GB等存储单位的区别,介绍国际单位制(SI)与国际电工委员会(IEC)两种标准,解释为何500GB硬盘在系统中仅显示约465GB。带你从底层原理理解计算机存储单位的换算逻辑,揭开“消失”的容量之谜。
606 0
【硬盘容量缩水真相】新买的U盘插上那刻我崩溃了:标称128G的存储为何只剩112G?
|
安全 关系型数据库 MySQL
【Python】已解决:pymysql.err.OperationalError:(2003 “Can’t connect to MySQL server on ‘localhost’ ([WinEr
【Python】已解决:pymysql.err.OperationalError:(2003 “Can’t connect to MySQL server on ‘localhost’ ([WinEr
2140 1
|
存储 关系型数据库 MySQL
MySQL性能优化指南
【10月更文挑战第16天】MySQL性能优化指南
1091 0
|
存储 监控 安全
企业如何应对网络攻击的威胁
企业如何应对网络攻击的威胁【10月更文挑战第10天】
381 3
|
SQL 存储 安全
SQL安全深度剖析:守护数据安全的坚固防线
展望未来,随着技术的不断进步和攻击手段的不断翻新,SQL安全将面临更多的挑战。因此,我们需要持续关注SQL安全领域的最新动态和技术发展,并不断更新和完善我们的防护措施。同时,加强国际合作与信息共享也是提升全球SQL安全性的重要途径。让我们共同努力,为构建一个更加安全、可靠的数字化环境而奋斗。