【问题标题】:Unable to use values from a class into another class无法将一个类中的值用于另一个类
【发布时间】:2014-11-07 03:26:46
【问题描述】:

我正在尝试从一个类中获取值并将该特定值用于另一个类。但是我不断收到此错误 - AttributeError: 'CustomNodeTranslator' object has no attribute 'start'

基本上我正在尝试获取/传输self.startself.end 的值以用于ChanFileExporter

我不确定为什么它不起作用,但是当我在代码的另一部分应用这种类似的方法时,它工作正常。

非常感谢任何建议!

class CustomNodeTranslator(OpenMayaMPx.MPxFileTranslator):
    def __init__(self):
        OpenMayaMPx.MPxFileTranslator.__init__(self)
    def haveWriteMethod(self):
        return True
    def haveReadMethod(self):
        return True
    def filter(self):
        return "*.chan"
    def defaultExtension(self):
        return "chan"
    def writer( self, fileObject, optionString, accessMode ):
        self.start = []
        self.end = []

        for opt in filter(None, optionString.split(';')):
            optSplit = opt.split('=')

            if optSplit[1] == '0':
                startAnimation = cmds.findKeyframe(which='first')
                endAnimation = cmds.findKeyframe(which='last')
                self.start = startAnimation
                self.end = endAnimation

class ChanFileExporter():
    def __init__(self, transform, startAnimation, endAnimation, cameraObj):
        self.fileExport = []
        testClass = CustomNodeTranslator()

        mayaGlobal = OpenMaya.MGlobal()
        mayaGlobal.viewFrame(OpenMaya.MTime(1))

        startAnimation = testClass.start
        endAnimation = testClass.end


        for i in range(int(startAnimation), int(endAnimation + 1)):
            ...
            ...

【问题讨论】:

    标签: python class class-variables


    【解决方案1】:

    您第一次在CustomNodeTranslator 中看到startend 是在writer() 方法中。

        self.start = []
        self.end = []
    

    __init__() 之外添加属性是不好的做法;它失败的原因是因为您指的是尚不存在的属性,因为它们仅在您调用writer()之后创建

    【讨论】:

    • 我已经设法找到解决我给定问题的方法并且它工作正常(最后,在我已经做了一段时间的相同代码之后)!!谢谢!
    猜你喜欢
    • 1970-01-01
    • 2014-02-26
    • 1970-01-01
    • 2022-11-21
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    • 2021-04-21
    • 2021-10-16
    相关资源
    最近更新 更多