Python Tkinter 事件

鼠标事件

事件格式 事件解释
<Button-1> 鼠标点击(1-左键,2-中键,3-右键)
<Double-Button-1> 鼠标双击(1-左键,2-中键,3-右键)
<B1-Motion> 鼠标拖动(1-左键,2-中键,3-右键)
<ButtonRelease-1> 鼠标按下之后释放(1-左键,2-中键,3-右键)
<Enter> 鼠标进入控件范围(widget),不是键盘按键
<Leave> 鼠标离开控件范围(widget)
import tkinter as tk

def showWindow():
    window = tk.Tk() # 创建一个窗口对象
    window.title('共享桌面') #给窗口命名
    window.geometry('600x400+20+20') #定义窗口的长宽,geometry方法中传入字符串参数,字符串中应为长x宽(Note:x是小写字母x)

    shareBtn = tk.Button(window,text='测试事件' ,width=20)

    shareBtn.grid(row=2, column=1)
    # 给按钮绑定事件
    shareBtn.bind('<Button-1>',share)
    window.mainloop()  #mainloop实际上是使用while循环实现的,因为窗口的内容是会动态变化的

# event 事件对象
def share(event):
    print(123,event)


if __name__ == '__main__':
    showWindow()

事件对象

属性 属性说明 适用事件类型
.char 如果按键事件产生通用ASCII字符,这个字符将赋值给event.char。(特殊ASCII字符,如delete等不属于该属性) <KeyPress><KeyRelease> 等按键事件
.keysym 如果按键事件产生特殊ASCII字符,这个字符将赋值给event.keysym。 <KeyPress><KeyRelease>等按键事件
.x 鼠标当前位置横坐标,相对于组件左上角
.y 鼠标当前位置纵坐标,相对于组件左上角
.x_root 鼠标当前位置横坐标,相对于屏幕左上角
.y_root 鼠标当前位置纵坐标,相对于屏幕左上角
.width 组件大小发生改变后的宽度
.height 组件大小发生改变后的高度
.type 事件类型 ALL

键盘事件

对应键盘按键:

<Return>
<Cancel>
<BackSpace>
<Tab>
<Shift_L>
<Control_L>
<Alt_L>
<Home>
<Left>
<Up>
<Down>
<Right>
<Delete>
<F1>
<F2>

参考:

https://blog.csdn.net/xiaozhimonica/article/details/87873048


原文出处:https://malaoshi.top/show_1IX65UUfwEcg.html