发布时间:2018-06-09 12:16:02编辑:Run阅读(4806)
事件的使用方法
测试鼠标点击(Click)事件
代码:
import tkinter as tk root = tk.Tk() # 测试鼠标点击事件 def printcoords(event): print(event.x, event.y) # 创建第一个 Button,并将它与左键事件绑定 bt1 = tk.Button(root, text='leftmost button') bt1.bind('<Button-1>', printcoords) # 创建二个 Button,并将它与中键事件绑定 bt2 = tk.Button(root, text='middle button') bt2.bind('<Button-2>', printcoords) # 创建第三个 Button,并将它与右击事件绑定 bt3 = tk.Button(root, text='rightmost button') bt3.bind('<Button-3>', printcoords) # 创建第四个 Button,并将它与双击事件绑定 bt4 = tk.Button(root, text='double click') bt4.bind('<Double-Button-1>', printcoords) # 创建第五个 Button,并将它与三击事件绑定 bt5 = tk.Button(root, text='triple click') bt5.bind('<Triple-Button-1>', printcoords) bt1.grid() bt2.grid() bt3.grid() bt4.grid() bt5.grid() root.mainloop()
结果:
分别测试鼠标的事件,回调函数的参数 event 中(x,y)表示当前点击的坐标值
测试鼠标的移动(Motion)事件
测试鼠标移动事件
代码:
import tkinter as tk root = tk.Tk() # 测试鼠标点击事件 def printcoords(event): print(event.x, event.y) # 创建第一个 Button,并将它与右击移动事件绑定 bt1 = tk.Button(root, text='leftmost button') bt1.bind('<B1-Motion>', printcoords) # 创建第二个 Button,并将它与右击移动事件绑定 bt2 = tk.Button(root, text='middle button') bt2.bind('<B2-Motion>', printcoords) # 创建第三个 Button,并将它与右击移动事件绑定 bt3 = tk.Button(root, text='rightmost button') bt3.bind('<B3-Motion>', printcoords) bt1.grid() bt2.grid() bt3.grid() root.mainloop()
结果:
分别测试鼠标的移动事件,只有当鼠标被按下后移动才回产生事件
测试鼠标的释放(Relase)事件
代码:
import tkinter as tk root = tk.Tk() # 测试鼠标释放事件 def printcoords(event): print(event.x, event.y) # 创建第一个 Button,并将它与左键释放事件绑定 bt1 = tk.Button(root, text='leftmost button') bt1.bind('<ButtonRelease-1>', printcoords) # 创建第二个 Button,并将它与左键释放事件绑定 bt2 = tk.Button(root, text='middle button') bt2.bind('<ButtonRelease-2>', printcoords) # 创建第三个 Button,并将它与左键释放事件绑定 bt3 = tk.Button(root, text='rightmost button') bt3.bind('<ButtonRelease-3>', printcoords) bt1.grid() bt2.grid() bt3.grid() root.mainloop()
结果:
分别测试鼠标的 Relase 事件,只有当鼠标被 Relase 后移动才回产生 Relase 事件
进入(Enter)事件
测试鼠标释放事件
代码:
import tkinter as tk root = tk.Tk() def printcoords(event): print(event.x, event.y) # 创建第一个 Button,并将它与 Enter 事件绑定 bt1 = tk.Button(root, text='leftmost button') bt1.bind('<Enter>', printcoords) bt1.grid() root.mainloop()
结果:
上一篇: tkinter -- tkCommonDialog
下一篇: tkinter -- Event(2)
47616
46006
36920
34489
29096
25742
24580
19727
19265
17766
5581°
6167°
5703°
5757°
6718°
5496°
5501°
6001°
5975°
7306°