لماذا مايا 2009 عنصر تحكم TreeView إعطاء خطأ في بناء الجملة في السحب ؟

StackOverflow https://stackoverflow.com/questions/820697

سؤال

أنا باستخدام عنصر تحكم TreeView في مايا 2009 ولكن أنا الحصول على خطأ في بناء جملة في السحب والإفلات.قانون بلدي هو على النحو التالي (المبسطة الإيجاز):

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 لا يزال تنفيذ ميل المكالمات الدالة على الحدث رد.الأخطاء المذكورة أعلاه هي التي القيت من قبل ميل مترجم كما يحاول إطعام الحجج أمر اسم.

هل كانت مفيدة؟

المحلول

انظر http://download.autodesk.com/us/maya/2009help/CommandsPython/treeView.html:dragAndDropCommand هو سلسلة -- كنت تمر ملزمة طريقة مايا باستخدام repr.لست متأكد لكن أظن أن السلسلة يجب أن الاسم مستوى أعلى (مستوى الوحدة النمطية) وظيفة لا بد الأسلوب.

نصائح أخرى

كما مايا 2010 treeView القطعة يبدو لا تزال تتطلب سلسلة اسم ميل الإجراء لاستخدامها في بعض الاسترجاعات ، ولكن ليس للآخرين.على سبيل المثال ، dragCallback و dropCallback لا تعمل كما هو متوقع ولكن selectCommand والبعض الآخر لا.العديد من الحاجيات الأخرى لا نقبل الثعبان وظيفة أجل رد.على الرغم من مستندات قائمة الحجج لبعض treeView رد سلاسل, ليس ذكر أن السلسلة يجب أن يكون ميل الإجراء اسم وهو بالتأكيد غير متناسقة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top