0
点赞
收藏
分享

微信扫一扫

Tkinter学习笔记-event事件的绑定

求阙者 2022-03-30 阅读 58
python
# tkinter的控件可以通过bind函数绑定任何操作


# 方法1:给单一的组件绑定事件和函数

widget.bind(event,func)


# 方法2:给某一类组件绑定事件和函数(批量处理)

widget.bind_class(widget_name,event,func)

event 键盘和鼠标事件

通过widget.bind去绑定事件和widget的内置属性command相比两种绑定事件有什么区别???

command属性比较简单,不需要获取event对象

Button(root,text='举例子',command = func)

而bind 和bind_class是需要获取event对象的

例子:


from tkinter import *
 
root =Tk()
 
def callback(event):
    #获取当前键盘按下的字符
    print(event.widget)  

 
frame = Frame(root, width=200, height=200)

#组件想要响应键盘事件,组件必须获得焦点,组件才会响应键盘来的消息。因为一个窗口可以有很多组件,键盘一次敲击不知道给哪个组件。
frame.bind("<Key>", callback)  

#通过focus_set方法获得焦点。也可以设置Frame的takefocus选项为True,然后使用Tab将焦点转移上来
frame.focus_set() 
frame.pack()
 
mainloop()
举报

相关推荐

0 条评论