PySide6
from PySide6 import QtCore, QtGui, QtWidgets
import maya.cmds as cmds
from maya import OpenMayaUI as omui
from shiboken6 import wrapInstance
def get_main_window():
""" Mayaのメインウィンドウを取得 """
ptr = omui.MQtUtil.mainWindow()
if ptr is not None:
return wrapInstance(int(ptr), QtWidgets.QWidget)
class MyWidget(QtWidgets.QMainWindow):
def __init__(self, parent=None):
super().__init__(parent)
""" Close Panel """
main_window = get_main_window()
for child in main_window.children():
if child.__class__.__name__ == self.__class__.__name__:
child.close()
PySide6 PySide2対応版
try:
from PySide6 import QtCore, QtGui, QtWidgets
except:
from PySide2 import QtCore, QtGui, QtWidgets
import maya.cmds as cmds
from maya import OpenMayaUI as omui
try:
from shiboken6 import wrapInstance
except:
from shiboken2 import wrapInstance
def get_main_window():
""" Mayaのメインウィンドウを取得 """
ptr = omui.MQtUtil.mainWindow()
if ptr is not None:
return wrapInstance(int(ptr), QtWidgets.QWidget)
class MyWidget(QtWidgets.QMainWindow):
def __init__(self, parent=None):
super().__init__(parent)
""" Close Panel """
main_window = get_main_window()
for child in main_window.children():
if child.__class__.__name__ == self.__class__.__name__:
child.close()