Maya 2009 で TreeView コントロールを使用していますが、ドラッグ アンド ドロップで構文エラーが発生します。私のコードは次のとおりです(簡潔にするために簡略化しています):
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 //
編集:私が抱えていた問題は、treeView がまだほとんどのイベント コールバックで MEL 関数呼び出しを実装しているためであることがわかりました。上記のエラーは、コマンド名に引数を与えようとする MEL インタープリタによってスローされています。