从这个环境(它是一个名为nuke的图形程序)得到了一个全局对象,我可以在其中添加菜单项并将其与函数连接起来。此全局对象的工作方式如下:
menu.addCommand("Do This!", lambda: DoThings())
我想动态地阅读python模块,并将模块函数作为一个项目添加到全局菜单对象中。我为此写了一个类。我的课程的简化版本:
^{pr2}$
动态导入非常有效。但是每个生成的menuitem都链接到最后导入的函数。所以每个菜单项都一样。在
我不是专业程序员。所以我想我犯了个简单的错误。在
谢谢你的帮助。在
Tags:
试着传递f.call而不是兰达:呼叫(). 在
在表达式}。{cd2>中的表观变化意味着λ2的变化。例如:
lambda: f.call()
,f
是一个自由项,它引用封闭范围内的变量{但是,
^{pr2}$lambda
是不必要的,因为python中的函数和方法都是对象,它们本身可以在任何可调用的地方传递(比如lambda)。在本规范中:f.call
是一个表达式,它将计算为可调用的绑定方法。在相关问题 更多 >
编程相关推荐