python-tkinter-事件与映射

这篇博客介绍了如何在Python的Tkinter库中处理鼠标和键盘事件,包括不同类型的按钮点击、鼠标移动、键盘按键等。通过创建窗口、绑定事件与函数,展示了如何获取事件的详细信息如鼠标坐标和键入字符,并提供了具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

'''
事件(鼠标):
<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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值