gpt4 book ai didi

python - 使用一个类中的变量到另一个类中

转载 作者:太空宇宙 更新时间:2023-11-03 18:10:32 25 4
gpt4 key购买 nike

我正在尝试使用类中的变量 - CustomNodeTranslator 并让该变量在另一个类中使用 - fileImporter

但是,我收到错误提示 # AttributeError: 'CustomNodeTranslator' object has no attribute 'camName' # 我在我的另外 2 个类上使用了类似的方法,除了这两个类之外,它正在工作类。

难道是因为CustomNodeTranslator是一个特例吗?看到它是用于插件的吗?

请给我建议。

谢谢。

class CustomNodeTranslator(OpenMayaMPx.MPxFileTranslator):
def __init__(self):
OpenMayaMPx.MPxFileTranslator.__init__(self)
...
...

def reader(self, fileObject, optionString, accessMode):
try:
fullPath = fileObject.fullName()

self.fileHandle = open(fullPath,"r")
camHandle = self.fileHandle

camBaseName = os.path.basename(camHandle.name)
camName = os.path.splitext(camBaseName)[0]
self.camName = camName

class fileImporter():
def __init__(self, order):

test = CustomNodeTranslator()

cameraName, cameraShape = cmds.camera(n=str(test.camName))
camSel.extend((cameraName, cameraShape))

cmds.scale(0.5, 0.5, 0.5)


camBaseName = os.path.basename(camHandle.name)
camName = os.path.splitext(camBaseName)[0]
self.camName = camName

最佳答案

您不会在 __init__ 方法中创建类属性,所以当然--这里--

test = CustomNodeTranslator()
# -- here --
cameraName, cameraShape = cmds.camera(n=str(test.camName))

目前还不可见。要么在 init 中分配它,要么在类接口(interface)上放置属性引用。 More in the doc.

更新:您应该在CustomNodeTranslator类中声明它

class CustomNodeTranslator(OpenMayaMPx.MPxFileTranslator):
def __init__(self):
self.camName = ""
....

关于python - 使用一个类中的变量到另一个类中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26057209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com