tkinter如何绑定事件
组件绑定事件的通用语法
widget.bind(event,handle)
bind会把事件源event的信号等信息发给handle处理函数
widget:表示事件来源的组件
event:表示什么事件,用<>
handle:表示处罚什么函数
右击,弹出选择菜单
from tkinter import *
from tkinter import messagebox
class TestWin(Tk):
def __init__(self):
super().__init__()
self.title("右击,弹出选择菜单")
self.geometry("600x400+200+200")
self.bind("<Button-3>",self.RightClicked)
'''创建一个弹出菜单'''
self.menu = Menu(self,
tearoff=False,
)
self.menu.add_command(label="callback1", command=self.callback1)
self.menu.add_command(label="callback2", command=self.callback2)
self.menu.add_command(label="callback3", command=self.callback3)
def RightClicked(self,event):
self.menu.post(event.x_root, event.y_root)
def callback1(self,event=None):
messagebox.showinfo("Message", "callback1")
def callback2(event=None):
messagebox.showinfo("Message", "callback2")
def callback3(event=None):
messagebox.showinfo("Message", "callback3")
if __name__ == '__main__':
win = TestWin()
win.mainloop()
事件 | 含义 |
---|---|
<Button-1> | 鼠标左击 |
<ButtonRelease-1> | 释放鼠标左键 |
<B1-Motion> | 按下鼠标左键,并且移动 |
<Double-Button-1> | 双击左键 |
<Button-4> | |
<Button-5> |