使用textField中的文本命名maya python

2024-10-05 14:24:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用textField的输出作为新创建的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"] )

Tags: name文本selftruebsdefargswidgets
1条回答
网友
1楼 · 发布于 2024-10-05 14:24:44

只有在运行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)

相关问题 更多 >