tkinter如何绑定事件
组件绑定事件的通用语法
widget.bind(event,handle)
bind会把事件源event的信号等信息发给handle处理函数
widget:表示事件来源的组件
event:表示什么事件,用<>
handle:表示处罚什么函数
右击,弹出选择菜单
from tkinter import *
from tkinter import messageboxclass 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> |