添加菜单项
Win+R唤出运行对话框输入regedit打开注册表编辑器,进入目录HKEY_CLASSES_ROOT\Directory\Background\shell新建项,起个自己和注册的菜单有关的有意义的名字(当然你也可以随便起一个)。这里示例起的名字是example:

1 | turtle.speed(0) |
1 | turtle.speed(0) |
1 | turtle.tracer(0) |
有时想在关闭窗口时做一些额外的处理,比如:保存数据、弹出确认对话框等。
这时就需要代理窗口关闭事件,下面的代码展示了如何代理窗口关闭事件。
1 | def close_handler(): |
在关闭窗口事件触发时,调用 close_handler 函数代为处理,这里会先执行 beforeCloseOpr() 函数,然后再关闭窗口。
tkinter事件大概就这些内容,本文尚未完篇,有空更新,可以先参考这篇文章:https://pythonguides.com/python-tkinter-events/
define
bind() 方法的语法:
1 | widget.bind(event,handler,add=None) |
example
解决方案思路来自 https://stackoverflow.com/questions/6920302/how-to-pass-arguments-to-a-button-command-in-tkinter
其实使用的都是封装的方法,只是有不同的实现。
个人比较喜欢这个方法
1 | ttk.Button(frame, text='button',command=lambda:func(param)) |
值得注意的是,这里存在一个小细节,不了解lambda函数机制的同学要注意一下,否则可能产生与你预期不符的结果。lambda函数只会在调用时执行内部语句,也就是说,如果你传递的参数(这里是param)是一个变量,并且在之后这个变量的值发生了变化,调用时就会传入之后的值而不是你之前想要传入的值。