2015-07-21 42 views
1

我想使用textField的輸出作爲新創建的blenshape的名稱。但是,當我按下按鈕來創建自己的形狀時,它只會將我定義的文本視爲應該替換的文本文本。它不考慮在框中鍵入新的字母:使用textField中的文本進行命名 - maya python

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

只有當你運行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) 
+0

謝謝!它做到了 – brewmaster