Python零基础入门三十一之事件

情到浓时终转凉″ 提交于 2019-12-06 17:30:15

这篇博客主要是记录一下Tkinter中的关于事件的知识。

Tkinter使用一种称为事件序列的机制来允许用户定义事件,用户需使用bind()方法将具体的事件序列与自定义的方法相绑定事件序列是以字符串的形式表示的,可以表示一个或多个相关联的事件(如果是多个事件,那么对应的方法只有在满足所有事件的前提下才会被调用)

事件序列的使用以下语法描述:
事件序列是包含在尖括号
type部分的内容是最重要的,它通常用于描述普通
的事件类型
modifier部分的内容是可选的,它通常用于描述组合键
detail部分的内容是可选的,它通常用于描述具体的按键,
例如:
用户点击鼠标左键
用户点击H按键
用户同时点击Ctrl+shift+H

1.鼠标事件的绑定

from tkinter import *

root = Tk()
def callback(event):
     print("点击位置:",event.x,event.y)

frame = Frame(root,width=200,height=200)

frame.bind('<Button-1>',callback)
frame.pack()
mainloop()

2.键盘事件的绑定

from tkinter import *

root = Tk()
def callback(event):
     print(event.char)

frame = Frame(root,width=200,height=200)

frame.bind('<Key>',callback)
frame.focus_set()
frame.pack()
mainloop()

3.通过事件获取鼠标的实时位置
主要是通过绑定‘Motion’事件实现的

from tkinter import *
root = Tk()
def callback(event):
     print("当前位置:",event.x,event.y)
frame = Frame(root,width=200,height=200)

frame.bind('<Motion>',callback)
frame.pack()
mainloop()

最后上一些干货,以防不时之需。

这里写图片描述
这里写图片描述

这里写图片描述

这里写图片描述
(注:图片来源于小甲鱼论坛)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!