Tkinter 鼠标键盘事件

本文详细介绍了Python中鼠标和键盘事件的基本概念、事件类型及其应用实例,包括鼠标单击、拖动、释放和双击事件,以及键盘输入、特殊键事件等,并通过实例展示了如何在实际编程中使用这些事件。

一: 鼠标事件

<Button-1>                                                                     鼠标左键单击

<Button-2>                                                                     鼠标中键单击

<Button-3>                                                                     鼠标右键单击

<1> = <Button-1> =<ButtonPress-1>

<2> = <Button-2> = <ButtonPress-2>

<3> = <Button-3> =<ButtonPress-3>

 

<B1-Motion>                                                                鼠标左键拖动

<B2-Motion>                                                                鼠标中键拖动

<B3-Motion>                                                                鼠标右键拖动

 

<ButtonRelease-1>                                                    鼠标左键释放

<ButtonRelease-2>                                                    鼠标中键释放

<ButtonRelease-3>                                                    鼠标右键释放

 

<Double-Button-1>                                                    鼠标左键双击

<Double-Button-2>                                                    鼠标中键双击

<Double-Button-3>                                                    鼠标右键双击

 

<Enter>                                                                        鼠标指针进入控件

 

<Leave>                                                                      鼠标指针离开控件

 

二:键盘事件

<Return>                                                                      回车

<Cancel>                                                                     Break键

<BackSpace>                                                             BackSpace键

<Tab>                                                                          Tab键

<Shift_L>                                                                     Shift键

<Alt_L>                                                                        Alt键

<Control_L>                                                               Control键

<Pause>                                                                     Pause键

<Caps_Lock>                                                           Caps_Lock键

<Escape>                                                                   Escapel键

<Prior>                                                                        PageUp键

<Next>                                                                        PageDown键

<End>                                                                         End键

<Home>                                                                      Home键

<Left>                                                                          左箭头

<Up>                                                                           上箭头

<Right>                                                                      右箭头

<Down>                                                                    下箭头

<Print>                                                                       Print Screen键

<Insert>                                                                      Insert键

<Delete>                                                                   Delete键

<F1>                                                                           F1键

.                                                                                     .

.                                                                                     .

<F12>                                                                         F12键

<Num_Lock>                                                            Num_Lock键

<Scroll_Lock>                                                         Scroll_Lock键

<key>                                                                        任意键

 

三: 可打印的字符:

a                                                                                  字母a

b                                                                                  字母b

1                                                                                  数字1

<KeyPress-a>

<KeyRelease-a>

A                                                                                 shift+a

B                                                                                 shift+b

 

四: 组合键:

<Shift-Up>                                                                Shift+Up

<Alt-Up>                                                                    Alt+Up

<Control-Up>                                                           Ctrl+Up

<Control-A>                                                             Ctrl+shift+a

 

五:窗体事件:

<Configure>                                                           改变大小或位置

<Visibility>                                                             当组件变为可视状态时触发

<Unmap>                                                               当组件由显示状态变为隐藏状态时触发

<Map>                                                                    当组件由隐藏状态变为显示状态时触发

<Expose>                                                              当组件从原本被其他组件遮盖的状态中暴漏出来时触发

<FocusIn>                                                             组件获得焦点时触发

<FocusOut>                                                          组件失去焦点时触发

<Circulate>                                                           当窗体由于系统协议要求在堆栈中置顶或压底时触发

<Colormap>                                                         当窗体的颜色或外貌改变时触发,Tk中忽略此细则

<Property>                                                           当窗体的属性被删除或改变时触发,属于TK的核心

<Destroy>                                                            当组件被销毁时触发

<Activate>                                                            与组件选项中的state项有关,表示组件由不可用变为可用时触发

<Deactiavte>                                                       与组件选项中的state项有关,表示组件由可用变为不可用时候触发

 

六: Event

widget                                                                  事件被触发的控件

x, y                                                                        鼠标距离窗体左上角的位置(坐标)

x_root, x_y                                                          鼠标距离屏幕左上角的位置(坐标)

char                                                                      键盘事件对应的字符代码

keysym                                                                 键盘事件对应的字符串

keycode                                                               键盘事件对应的按键码

num                                                                      鼠标事件对应的按键码

width, height                                                       控件的新大小

type                                                                      事件类型

摘抄自:IT小小龙 python视频:http://www.tudou.com/programs/view/SWuVbjeKf9o/

 

 

 

 

 

 

 

 

 

### 如何在 Tkinter 中为 Button 组件绑定点击事件Tkinter 中,可以通过 `bind()` 方法将鼠标点击事件绑定到 Button 组件上。当用户点击按钮时,绑定的事件处理函数会被触发,并且可以访问与事件相关的数据,例如鼠标点击的位置[^1]。 以下是一个完整的示例代码,展示如何为 Button 组件绑定单击事件(`<Button-1>` 表示鼠标左键单击): ```python from tkinter import * def click(event): print("Button clicked at position:", event.x, event.y) root = Tk() button = Button(root, text="Click Me") button.bind("<Button-1>", click) # 绑定鼠标左键单击事件 button.pack() root.mainloop() ``` 在上述代码中,`click` 函数被绑定到 `<Button-1>` 事件。当用户单击按钮时,`click` 函数会输出鼠标点击的位置坐标 `event.x` 和 `event.y`[^1]。 此外,Tkinter 还支持通过 `command` 参数直接为按钮指定一个回调函数,这种方式适用于不需要传递额外事件对象的场景[^3]。例如: ```python from tkinter import * def on_click(): print("Button clicked!") root = Tk() button = Button(root, text="Click Me", command=on_click) # 使用 command 参数绑定回调函数 button.pack() root.mainloop() ``` 在这种情况下,`on_click` 函数会在按钮被点击时执行,但不会接收到任何事件参数[^3]。 需要注意的是,`bind()` 方法允许更灵活地处理事件,因为它可以捕获更多类型的事件(如鼠标移动、键盘输入等),而 `command` 参数仅限于响应按钮点击操作[^2]。 ### 注意事项 - 如果需要处理复杂的交互逻辑(如拖拽、双击等),建议使用 `bind()` 方法。 - 对于简单的按钮点击操作,`command` 参数通常更为简洁和直观[^4]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值