'''
事件(鼠标):
<Button-1>:鼠标左键,<Button-2>:鼠标中间键,<Button>:鼠标右键
<B1-Motion>:鼠标左键并移动鼠标,类似的<B2-Motion>、<B3-Motion>分别是按鼠标中间键和右键并移动鼠标
<ButtonRelease-1>:释放鼠标左键.<ButtonRelease-2>、<ButtonRelease-3>
<Double-Button-1>:两次双击鼠标.<Double-Button-2>、<Double-Button-3>
<Enter>:鼠标进入构件
<Leave>: 鼠标离开构件
事件(键盘):
<Return>:键盘输入Enter键.BackSpace, Tab, Shift_L,Control_L, Alt_L , Pause, Caps_Lock, Escape, Prior (Page Up), Next (Page Down), End, Home, Left, Up, Right, Down, Print, Insert, Delete, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, Num_Lock, croll_Lock以及键盘上的其余各键.
'''
'''
事件属性:
x,y:当前鼠标位置(像素为单位)
x_root,y_root:当前鼠标相对于左上角屏幕的位置(像素为单位)
keysym:键入字符
keycoe:键的代码
type:事件类型
'''
from tkinter import *
class AA:
def __init__(self):
window=Tk()
# fr=Frame(window)
# fr.pack()
self.textstr=StringVar()
label=Label(window,textvariable=self.textstr,bg="blue",fg="white",width=15,height=2)
label.pack(fill = X)
# 绑定事件与函数
label.bind("<Button-1>",self.callback1)
window.bind("<Return>",self.callback2)
Button(window,text="Button",width=15,height=2).pack(fill = X)
window.mainloop()
def callback1(self,event):
print("当前鼠标位置:",event.x,",",event.y)
print("当前鼠标相对于左上角屏幕的位置:",event.x_root,",",event.y_root)
self.textstr.set("事件类型:"+str(event.type))
def callback2(self,event):
print("当前键入字符:",event.keysym)
print("当前键入字符:",event.keycode)
# print("当前键入字符:",event.)
self.textstr.set("事件类型:"+str(event.type))
AA()
# 参考文献:
# http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm
python-tkinter-事件与映射
最新推荐文章于 2025-06-16 08:00:00 发布