Autodesk Maya 内で Python を使用していますが、これはどこにでも当てはまるはずです。
と呼ばれるクラスがあり、ファイル内でbRigUI
呼び出される別のクラスから継承しますwingUtils
wingUtilities.py
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 スクリプトがあります (また、継承を持つクラスでもあります) 。
import maya.cmds as cmds
import jtWingRigAutomation.wingUtilities as wingUtilities
reload(wingUtilities)
class bRigUI(wingUtilities.wingUtils):
def __init__(self):
bRigUI = 'bRigUI'
if cmds.window(bRigUI, exists = True):
cmds.deleteUI(bRigUI)
bRigUI = cmds.window('bRigUI', title = 'JT Wing Rig Automation')
form = cmds.formLayout()
tabs = cmds.tabLayout(innerMarginWidth = 5, innerMarginHeight = 5)
cmds.formLayout(form, e = True, attachForm=((tabs, 'top', 0), (tabs, 'left', 0), (tabs, 'bottom', 0), (tabs, 'right', 0)))
tab2 = cmds.rowColumnLayout('Wing Setup', parent = tabs)
cmds.text(self.naming(), parent = tab2)
cmds.showWindow(bRigUI)
cmds.window(bRigUI, e = True, w = 250, h = 500)
b = bRigUI()
クラスcName
内のメソッド内の関数を呼び出すには、UI スクリプトに何を入力すればよいですか?wingUtils