tkinter中的event事件参数具体有什么作用?
Tkinter回调函数中event参数的作用
event是Tkinter自动传入的事件对象,仅当回调函数通过事件绑定机制(比如bind()方法绑定键盘、鼠标等交互操作)触发时才会被传入,其中存储了本次触发事件的详细信息,比如触发事件的按键值、鼠标点击坐标、触发事件的控件实例等。
三种exit函数写法的适用场景
- 无参数写法
def exit()::仅适配菜单命令绑定这类不会传入参数的场景。你代码中给add_command的command参数绑定该函数时,点击菜单触发回调不会传入任何参数,该写法可以正常运行;但如果同时把该函数绑定到快捷键事件(比如<Control-e>),事件触发时会自动传入event参数,会抛出参数数量不匹配的错误。 - 带event参数写法
def exit(event)::仅适配事件绑定触发的场景,比如绑定快捷键时使用不会报错;但如果像示例中那样绑定到菜单命令,调用时没有传入参数会直接报错。 - 带默认值写法
def exit(event=None)::兼容两种触发场景,不管是菜单点击不传参数,还是事件绑定传入event参数都能正常执行,是同一个回调需要同时绑定菜单命令和快捷键时的最优写法。
内容的提问来源于stack exchange,提问作者Shiro
相关产品推荐
相关产品推荐

