2016-05-04 28 views
0

我對python和腳本通常還是一個新手,我試圖創建一個UI,它將在maya中創建一個floatSliderGrp,當它發生更改時,將調用一個查詢其值的函數。 當我運行該腳本,我得到以下錯誤: KeyError異常:「moop_slider」 非常感謝你的幫助我該如何讓一個floatSliderGrp把一個函數作爲一個命令?

我有UI的工作,這裏是我有問題的代碼部分:

self.ui_elements['moop_slider'] = cmds.floatSliderGrp(label='moopy', 
field=True, minValue = 0, maxValue = 1, value = 5, changeCommand = 
self.what_value()) 

def what_value(self): 
     self.my_moop= 
     cmds.floatSliderGrp(self.ui_elements['moop_slider'],q=True,v=True) 
     print self.my_moop 

回答

0
changeCommand = self.what_value() 

是要失敗的,因爲它試圖通話功能 - 但功能需要字典項函數的值。如果你刪除了parens,它應該按照下面的方式工作:

self.ui_elements['moop_slider'] = cmds.floatSliderGrp(label='moopy', field=True, minValue = 0, maxValue = 1, value = 5, changeCommand = self.what_value) 
+0

謝謝theodox,那是行得通的。林不知道我真的明白了差異,再次是腳本非常新,所以原諒這個愚蠢的問題,但我不試圖調用函數? – crusnik

+0

當您將它分配給'command ='時,您不希望調用該函數 - 它會分配該函數的_result_,而不是告訴maya在單擊'\'時調用此函數。 – theodox

0

這意味着moop_slider是一個無效的鍵(在您的字典中不存在)。至於它爲什麼不存在,我不能幫你。

相關問題