我正在为一个项目编写Blender的Python脚本,但是我对这种语言还很陌生。有一件事让我困惑,那就是静态变量的使用。下面是我目前正在处理的代码:
class panelToggle(bpy.types.Operator):
active = False
def invoke(self, context, event):
self.active = not self.active
return{'FINISHED'}
class OBJECT_OT_openConstraintPanel(panelToggle):
bl_label = "openConstraintPanel"
bl_idname = "openConstraintPanel"
这个想法是第二个类应该从第一个类继承active变量和invoke方法,以便调用OBJECT_OT_openConstraintPanel.invoke()可以改变OBJECT_OT_openConstraintPanel.active的值。然而,如上所示使用self是行不通的,而使用panelToggle也不行。你有什么建议吗?
active
属性是一种全局共享于所有PanelToggle
实例之间的属性吗?如果是,为什么它不是真正的全局变量呢?或者为什么它不是某个更全局的共享对象的属性呢? - S.Lott