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

使用textField中的文本进行命名-maya python,python,maya,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

我想使用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"] )

只有在运行buildUI函数时,才能查询blendshape_名称。您必须在每次单击时读取文本字段。因此,在函数blendshape中查询blendshape_名称:

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)