Python. Custom UI in Maya

Возникла идея сделать PolygonTools для Maya.

Решил делать на Python.

Самая первая проблема и задача загрузить интерфейс из ui-файла. Делал я его в QtDesigner, кстати.

Сложно найти простой и понятный не для программиста фрагмент кода, который бы это делал. Но в результате решение было найдено. Все оказалось очень просто — по этому делюсь этим с не программистами)


import maya._OpenMayaUI as omui
import maya.cmds as cmd
import sys

from PySide2 import QtCore, QtGui, QtWidgets, QtUiTools

from shiboken2 import wrapInstance

#obtain the Maya main window widget as a PySide2 widget
mayawin = omui.MQtUtil_mainWindow()
ptwidget = wrapInstance(long(mayawin), QtWidgets.QWidget)

#file with UI
ptguifile = 'd:/polygon_tools_gui.ui'

#Widget with GUI
ptui = QtUiTools.QUiLoader().load(ptguifile, parrent=ptwidget)

#Show widget
ptui.show()

Имена файлов и переменных на ваше усмотрeние. Импорты там могут тоже быть лишние, для дальнейшей работы они будут нужны.

Успехов!