这篇博客主要是记录一下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()
最后上一些干货,以防不时之需。
(注:图片来源于小甲鱼论坛)
来源:CSDN
作者:耀相惜
链接:https://blog.csdn.net/BeMoreQuiet/article/details/54743973