import maya.cmds as cmds
from PySide2 import QtWidgets
from PySide2.QtUiTools import QUiLoader
from maya.app.general import mayaMixin
from shiboken2 import wrapInstance
import maya.OpenMayaUI as omui
import os
module_path = cmds.getModulePath(moduleName='Sample')
path = module_path + 'test_gui.ui'
def get_maya_window():
"""GUIのwindowの親を取得する関数
Returns:
maya_window:GUIの親を返しています。
"""
main_window_ptr = omui.MQtUtil.mainWindow()
return wrapInstance(int(main_window_ptr), QtWidgets.QWidget)
class ExecuteDirectoryGUI(mayaMixin.MayaQWidgetBaseMixin, QtWidgets.QMainWindow):
"""GUI main
"""
def __init__(self, parent=get_maya_window()):
super(ExecuteDirectoryGUI, self).__init__(parent)
window_list = self.parent().children()
for child in window_list:
if self.__class__.__name__ == child.__class__.__name__:
if child.isVisible():
child.close()
self.ui = QUiLoader().load(path)
self.setEnabled(True)
self.setFixedSize(400, 150)
self.setCentralWidget(self.ui)
def GUI(self):
self.show()