一: 鼠标事件

<Button-1>                                                                     鼠标左键单击

<Button-2>                                                                     鼠标中键单击

<Button-3>                                                                     鼠标右键单击

<1> = <Button-1> =<ButtonPress-1>

<2> = <Button-2> = <ButtonPress-2>

<3> = <Button-3> =<ButtonPress-3>

<B1-Motion>                                                                鼠标左键拖动

<B2-Motion>                                                                鼠标中键拖动

<B3-Motion>                                                                鼠标右键拖动

<ButtonRelease-1>                                                    鼠标左键释放

<ButtonRelease-2>                                                    鼠标中键释放

<ButtonRelease-3>                                                    鼠标右键释放

<Double-Button-1>                                                    鼠标左键双击

<Double-Button-2>                                                    鼠标中键双击

<Double-Button-3>                                                    鼠标右键双击

<Enter>                                                                        鼠标指针进入控件

<Leave>                                                                      鼠标指针离开控件

二:键盘事件

<Return>                                                                      回车

<Cancel>                                                                     Break键

<BackSpace>                                                             BackSpace键

<Tab>                                                                          Tab键

<Shift_L>                                                                     Shift键

<Alt_L>                                                                        Alt键

<Control_L>                                                               Control键

<Pause>                                                                     Pause键

<Caps_Lock>                                                           Caps_Lock键

<Escape>                                                                   Escapel键

<Prior>                                                                        PageUp键

<Next>                                                                        PageDown键

<End>                                                                         End键

<Home>                                                                      Home键

<Left>                                                                          左箭头

<Up>                                                                           上箭头

<Right>                                                                      右箭头

<Down>                                                                    下箭头

<Print>                                                                       Print Screen键

<Insert>                                                                      Insert键

<Delete>                                                                   Delete键

<F1>                                                                           F1键

.                                                                                     .

.                                                                                     .

<F12>                                                                         F12键

<Num_Lock>                                                            Num_Lock键

<Scroll_Lock>                                                         Scroll_Lock键

<key>                                                                        任意键

三: 可打印的字符:

a                                                                                  字母a

b                                                                                  字母b

1                                                                                  数字1

<KeyPress-a>

<KeyRelease-a>

A                                                                                 shift+a

B                                                                                 shift+b

四: 组合键:

<Shift-Up>                                                                Shift+Up

<Alt-Up>                                                                    Alt+Up

<Control-Up>                                                           Ctrl+Up

<Control-A>                                                             Ctrl+shift+a

五:窗体事件:

<Configure>                                                           改变大小或位置

<Visibility>                                                             当组件变为可视状态时触发

<Unmap>                                                               当组件由显示状态变为隐藏状态时触发

<Map>                                                                    当组件由隐藏状态变为显示状态时触发

<Expose>                                                              当组件从原本被其他组件遮盖的状态中暴漏出来时触发

<FocusIn>                                                             组件获得焦点时触发

<FocusOut>                                                          组件失去焦点时触发

<Circulate>                                                           当窗体由于系统协议要求在堆栈中置顶或压底时触发

<Colormap>                                                         当窗体的颜色或外貌改变时触发,Tk中忽略此细则

<Property>                                                           当窗体的属性被删除或改变时触发,属于TK的核心

<Destroy>                                                            当组件被销毁时触发

<Activate>                                                            与组件选项中的state项有关,表示组件由不可用变为可用时触发

<Deactiavte>                                                       与组件选项中的state项有关,表示组件由可用变为不可用时候触发

六: Event

widget                                                                  事件被触发的控件

x, y                                                                        鼠标距离窗体左上角的位置(坐标)

x_root, x_y                                                          鼠标距离屏幕左上角的位置(坐标)

char                                                                      键盘事件对应的字符代码

keysym                                                                 键盘事件对应的字符串

keycode                                                               键盘事件对应的按键码

num                                                                      鼠标事件对应的按键码

width, height                                                       控件的新大小

type                                                                      事件类型

 列子

# encoding: utf-8

from Tkinter import *

class MouseKeyEventDemo:
def __init__(self):
# 窗口和标题
window = Tk()
window.title("鼠标键盘事件") # 打包一个白色画布到窗口
canvas = Canvas(window, width=200, height=200, bg="white")
canvas.focus_set() # 让画布获得焦点,对于键盘
canvas.pack() # 绑定鼠标左键事件,交由processMouseEvent函数去处理,事件对象会作为参数传递给该函数
canvas.bind(sequence="<Button-1>", func=self.processMouseEvent) # 绑定鼠标键盘事件,交由processKeyboardEvent函数去处理,事件对象会作为参数传递给该函数
canvas.bind(sequence="<Key>", func=self.processKeyboardEvent) # 消息循环
window.mainloop() # 处理鼠标事件,me为控件传递过来的鼠标事件对象
def processMouseEvent(self, me):
print("me=", type(me)) # me= <class> print("位于屏幕", me.x_root, me.y_root)
print("位于窗口", me.x, me.y)
print("位于窗口", me.num) # 处理鼠标事件,ke为控件传递过来的键盘事件对象
def processKeyboardEvent(self, ke):
print("ke.keysym", ke.keysym) # 按键别名
print("ke.char", ke.char) # 按键对应的字符
print("ke.keycode", ke.keycode) # 按键的唯一代码,用于判断按下的是哪个键</class></key></button-1> MouseKeyEventDemo()

  

以上代码已在python2.7上运行成功

Tkinter 鼠标键盘事件(一)的更多相关文章

  1. Tkinter 鼠标键盘事件(二)

    一个Tkinter主要跑在mainloop进程里.Events可能来自多个地方,比如按键,鼠标,或是系统事件. Tkinter提供了丰富的方法来处理这些事件.对于每一个控件Widget,你都可以为其绑 ...

  2. Linux 模拟 鼠标 键盘 事件

    /************************************************************************ * Linux 模拟 鼠标 键盘 事件 * 说明: ...

  3. Python——pyHook监听鼠标键盘事件

    pyHook包为Windows中的全局鼠标和键盘事件提供回调. 底层C库报告的信息包括事件的时间,事件发生的窗口名称,事件的值,任何键盘修饰符等. 而正常工作需要pythoncom等操作系统的API的 ...

  4. Python - selenium_WebDriver 鼠标键盘事件

    from selenium import webdriver #引入ActionChains类 提供了鼠标的操作方法 from selenium.webdriver.common.action_cha ...

  5. Selenium4.0+Python3系列(四) - 常见元素操作(含鼠标键盘事件)

    一.写在前面 上篇文章介绍的是关于浏览器的常见操作,接下来,我们将继续分享关于元素的常见操作,建议收藏.转发! 二.元素的状态 在操作元素之前,我们需要了解元素的常见状态. 1.常见元素状态判断,傻傻 ...

  6. 由chrome剪贴板问题研究到了js模拟鼠标键盘事件

    写在前面 最近公司在搞浏览器兼容的事情,所有浏览器兼容的问题不得不一个人包了.下面来说一下今天遇到的一个问题吧 大家都知道IE下面如果要获得剪贴板里面的信息的话,代码应该如下所示 window.cli ...

  7. c# 使用hook来监控鼠标键盘事件的示例代码

    如果这个程序在10几年前,QQ刚刚兴起的时候,有了这个代码,就可实现盗号了. 当然使用钩子我们更多的是实现"全局快捷键"的需求. 比如 程序最小化隐藏后要"某快捷键&qu ...

  8. openGL 初试 绘制三角形 和添加鼠标键盘事件

    code: #include <gl/glut.h> #include <stdlib.h> void render(void); void keyboard(unsigned ...

  9. 自动化测试基础篇--Selenium鼠标键盘事件

    摘自https://www.cnblogs.com/sanzangTst/p/7477382.html 前面几篇文章我们学习了怎么定位元素,同时通过实例也展示了怎么切换到iframe,怎么输入用户名和 ...

随机推荐

  1. luoguP4254 [JSOI2008]Blue Mary开公司

    题意 李超树裸题,注意一开始截距是\(S-P\). code: #include<bits/stdc++.h> using namespace std; #define ls(p) (p& ...

  2. MySQL实战45讲学习笔记:第四十三讲

    一.本节概述 我经常被问到这样一个问题:分区表有什么问题,为什么公司规范不让使用分区表呢?今天,我们就来聊聊分区表的使用行为,然后再一起回答这个问题. 二.分区表是什么? 为了说明分区表的组织形式,我 ...

  3. Unity开发实战探讨-资源的加载释放最佳策略

    注:本文中用到的大部分术语和函数都是Unity中比较基本的概念,所以本文只是直接引用,不再详细解释各种概念的具体内容,若要深入了解,请查阅相关资料. Unity的资源陷阱 游戏资源的加载和释放导致的内 ...

  4. 局域网部署ntp时间服务器

    搭建ntp时间服务器 时间服务器配置 须切换到root用户,再进行操作 检查ntp是否安装 [root@hadoop01 ~]# rpm -qa | grep ntp 如果没有安装,须安装 [root ...

  5. 六、Spring之初步认识AOP

    Spring之初步认识AOP [1]AOP概览 什么是AOP?(来自百度) ​ 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行 ...

  6. A - QQpet exploratory park HDU - 1493 DP

      A - QQpet exploratory park HDU - 1493 Today, more and more people begin to raise a QQpet. You can ...

  7. MyCat(转)

    https://www.cnblogs.com/bingosblog/p/7171501.html    http://www.cnblogs.com/joylee/p/7513038.html ht ...

  8. 解锁云原生 AI 技能|在 Kubernetes 上构建机器学习系统

    本系列将利用阿里云容器服务,帮助您上手 Kubeflow Pipelines. 介绍 机器学习的工程复杂度,除了来自于常见的软件开发问题外,还和机器学习数据驱动的特点相关.而这就带来了其工作流程链路更 ...

  9. windows 下安装MongoDB

    一:下载mongodb安装包 下载地址:https://www.mongodb.com/download-center/community 这里推荐下载msi的安装包 二:安装mongodb 双击下载 ...

  10. Java学习——网络编程

    Java学习——网络编程 摘要:本文主要介绍了什么是网络编程,以及如何使用Java语言进行网络编程. 部分内容来自以下博客: https://www.cnblogs.com/renyuan/p/269 ...