我正在尝试将侦听器附加到窗口关闭时被破坏的窗口对象。
但是,窗口对象没有OnClose
通过单击 X 关闭来调用的类型方法(pymel.core.uitypes.Window
如果您好奇为什么,它是 Autodesk Maya 的)。
add_listener
创建一个存在于活动会话中的侦听器。attach_listener
我正在创建以使侦听器在窗口关闭时自行删除,并且需要附加一个窗口。
我的解决方案如下:
def attach_listener(window, event_name, function):
def wrapper(*args, **kwargs):
if window.exists():
return function(*args, **kwargs)
else:
remove_listener(id_number)
id_number = add_listener(event_name, wrapper)
这显然是行不通的,因为直到函数声明之后才定义,但是,如果不先定义它id_number
,我不能将函数传递给它。不能传递给. 我该怎么做才能解决这个问题?add_listener
id_number
add_listener