Как создать outliner и привязать его к виджету, используя PySide в Maya?
У меня есть пользовательский интерфейс, который был создан с использованием "Qt Designer". Затем pysideuic.compileUi() использовался для преобразования файла ".ui" в файл ".py". Он успешно загружается в Майя. Как привязать новый outliner к одному из его виджетов.
Я думаю, что это пример использования PyQt, но я не могу сделать то же самое с помощью PySide: Maya Outliner в Pyqt не заряжается
Пожалуйста, дайте мне знать, если вам нужно больше деталей по этому вопросу.
Спасибо,
1 ответ
Оказывается, макеты не считаются виджетами в Qt, но они есть в Maya!
Поэтому, когда мы хотим получить панель из окна, созданного в QtDesigner, нам нужно передать имя макета, прикрепленного к виджету, а не имя самого виджета.
ptr = getCppPointer(self.ui.vl_outliner)
panel = omui.MQtUtil.fullName(long(ptr[0]))
cmds.setParent(panel)
В приведенном выше коде vl_outliner - это имя вертикального макета, прикрепленного к QFrame, а не имя самого QFrame.