使用textField中的文本命名 - maya python

时间:2015-07-21 08:01:23

标签: python maya

我想使用textField的输出作为新创建的变形的名称。但是当我按下按钮创建我的形状时,它只考虑我所定义的文本作为应该替换的股票文本。它不会考虑在框中输入新的字母:

def buildUI(self, *args):

   self.widgets["bs"] = cmds.textField (tx= "Replace me", editable= True, )

   self.widgets["blendshape_name"] = cmds.textField(self.widgets['bs'],  q=True, text=True)

   cmds.button(label="Create BlendShape ", w=295, h=30, al="center", c=self.blendShape)

def blendShape (self, *args):

   cmds.blendShape ( cmds.ls(sl=True)[1], cmds.ls(sl=True)[0],frontOfChain=True, n= self.widgets["blendshape_name"] )

1 个答案:

答案 0 :(得分:1)

仅在运行 buildUI 函数时才查询blendshape_name。您必须在每次单击时阅读文本字段。因此,查询函数blendShape中的blendshape_name:

def blendShape(self, *args):

    blendshape_name = cmds.textField(self.widgets['bs'],  q=True, text=True)
    cmds.blendShape(cmds.ls(sl=True)[1], cmds.ls(sl=True)[0], frontOfChain=True, n=blendshape_name)