왜 Maya2009 년 트어주는 구문 오류에 끌?
-
03-07-2019 - |
문제
내가 사용하여 트리 제어에 Maya2009 지만 나는 구문 오류가에서 드래그 앤 드롭.내 코드는 다음과 같습니다(단순한 간결):
class View(event.Dispatcher):
def __init__(self):
self.window = cmds.window()
tree_view = cmds.treeView(
numberOfButtons=1,
allowReparenting=True,
dragAndDropCommand=self.tree_view_onDrag
)
cmds.showWindow(self.window)
def tree_view_onDrag(self, dropped_items, old_parents, old_indexes, new_parent, new_indexes, item_before, item_after, *args):
print "worked"
때 나는 드래그 앤 드롭고 요소는 다음 명령을 실행하는 콘솔에서:
<bound method View.tree_view_onDrag of {"layer 3"} {""} {1} "layer 1" {0} "" "layer 2";
고 다음과 같은 오류가:
// Error: <bound method View.tree_view_onDrag of {"layer 3"} {""} {1} "layer 1" {0}€ //
// Error: Line 1.1: Syntax error //
편집: 는 것을 밝혀 문제가 있었으로 인해 트리는 여전히 구현하는 멜 함수 호출의 대부분에서의 이벤트 콜백이 있습니다.는 오류를 상기에서 발생한 멜 통역관으로 그것도 먹이를 인수하는 명령어 이름입니다.
해결책
보다 http://download.autodesk.com/us/maya/2009help/commandspython/treeview.html: draganddropcommand는 문자열입니다. 당신은 바운드 방법을 전달합니다. Maya는 repr을 사용하고 있습니다. 확실하지 않지만 문자열이 바운드 메소드가 아닌 최상위 수준 (모듈 레벨) 함수의 이름을 지정해야한다고 생각합니다.
다른 팁
로 Maya2010 의 트리는 위젯을 나타난 여전히 필요한 문자열 이름의 멜 절차에 사용되는 몇몇을의 그것의 콜백을,하지만 다른 사람입니다.예를 들어,dragCallback 및 dropCallback 할 예상대로 작동하지만,selectCommand 고 다른 하지 않습니다.다른 많은 위젯을 받아들이는 기능에 대한 그들의 콜백이 있습니다.지만 문서 목록을 인수를 위한 일부 트 콜백 문자열로,그것은 없는 문자열이어야 합 멜 절차의 이름,그리고 그것은 확실히 일치하지 않습니다.
제휴하지 않습니다 StackOverflow