我在Autodesk Maya中使用Python,但这应该适用于任何地方。在
我有一个名为bRigUI
的类,它继承了文件wingUtilities.py
中另一个名为wingUtils
的类
我可以通过使用继承获得self.gPrefix
/等名称。但我不知道如何获取类中函数内部的函数,比如def cName(txt):
以下是wingUtilities
脚本:
import maya.cmds as cmds
class wingUtils():
def __init__(self):
pass
def wingUtil(self, *args):
self.gPrefix = cmds.textField(self.prefixField, q = True, text = True)
self.lPrefix = cmds.textField(self.leftPrefixField, q = True, text = True)
self.rPrefix = cmds.textField(self.rightPrefixField, q = True, text = True)
def cName(txt):
n = self.gPrefix + (txt)
def lName(txt):
n = self.gPrefix + self.lPrefix + (txt)
def rName(txt):
n = self.gPrefix + self.rPrefix + (txt)
w = wingUtils()
这是一个非常简单的UI脚本,它正在尝试调用它(也是具有继承的类)-这个脚本不起作用,它只是一个shell,向您展示我在做什么,没有那么多混乱。在
^{pr2}$在UI脚本中输入什么来调用wingUtils
类中的方法中的函数cName
?在
唯一的办法就是把内部函数移到外部范围。你有充分的理由让他们成为内部的职能部门吗?如果是这样的话,你就没办法做你想做的事了。否则,您可以考虑重写该类。目前这三个函数}完全不起作用,因为没有代码可以从外部调用它们,它们也不会被内部调用。在这种情况下,只需取消它们的标识,并添加
cName()
、lName()
和{self
:不能。
cName
是一个局部变量,它只存在于wingUtils.wingUtil
的函数上下文中,并且只能通过该函数内的代码访问。在相关问题 更多 >
编程相关推荐