使用文本字段中的文本进行命名 - Maya python

use text from textField for naming - maya python

我想使用文本字段的输出作为新创建的 blenshape 的名称。但是,当我按下按钮创建我的形状时,它只会将我定义的文本视为应替换的库存文本。它不考虑在框中键入的新字母:

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_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)