Как создать 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.

Другие вопросы по тегам