Ich verwende das TreeView-Steuerelement in Maya 2009, aber ich bekomme einen Syntaxfehler beim Ziehen und Ablegen. Mein Code ist wie folgt (vereinfacht der Kürze halber):Warum verursacht Maya 2009 TreeView-Steuerelement einen Syntaxfehler beim Ziehen?
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"
Wenn ich per Drag & Drop und Element, das ich den folgenden Befehl erhalten wird, in der Konsole ausgeführt:
<bound method View.tree_view_onDrag of {"layer 3"} {""} {1} "layer 1" {0} "" "layer 2";
und nutzen Sie die folgende Fehlermeldung:
// Error: <bound method View.tree_view_onDrag of {"layer 3"} {""} {1} "layer 1" {0}€ //
// Error: Line 1.1: Syntax error //
EDIT: Es stellt sich heraus, dass die Fragen, die ich mit war aufgrund der TreeView waren Umsetzung noch MEL-Funktion auf den meisten i ruft ts Ereignisrückrufe. Die obigen Fehler werden vom MEL-Interpreter ausgelöst, wenn versucht wird, Argumente an einen Befehlsnamen zu übergeben.
Aha! Guter Fang! Was lustig ist, ist, dass ich das schon früher hatte, als ich darüber nachdenke. Aber der Fehler ist so zweideutig, dass ich nie daran denke, den Typ zu überprüfen. – Soviut