Files
MetaBox/Scripts/Modeling/Edit/LDMT/ldmt_function/ldmt_loadUIFile.py
2025-04-17 04:52:48 +08:00

61 lines
1.7 KiB
Python

#from Qt.QtCompat import wrapInstance, getCppPointer
import os
import maya.cmds as cmds
import maya.OpenMayaUI as omui
try:
from Qt.QtCore import *
from Qt.QtGui import *
from Qt.QtWidgets import *
from Qt import __version__
# from Qt.QtUiTools import QUiLoader
from Qt.QtCompat import loadUi
# from pyside2uic import *
from Qt.QtCompat import wrapInstance
except ImportError:
from Qt.QtCore import *
from Qt.QtGui import *
from Qt import __version__
# from pysideuic import *
from Qt.QtCompat import wrapInstance
# from cStringIO import StringIO
# import xml.etree.ElementTree as xml
def get_maya_window():
ptr = omui.MQtUtil.mainWindow()
#if ptr is not None:
return wrapInstance(int(ptr), QMainWindow)
def load_ui_file(ui_path):
if not os.path.exists(ui_path):
cmds.warning("UI file not found: {}".format(ui_path))
return None
# ui_file = QFile(ui_path)
# ui_file.open(QFile.ReadOnly)
# ui = loadUi(ui_file)
ui = loadUi(ui_path)
# ui = QUiLoader().load(ui_file)
# ui_file.close()
return ui
def load_ui_type(ui_path):
pass
# parsed = xml.parse(ui_file)
# widget_class = parsed.find('widget').get('class')
# form_class = parsed.find('class').text
# with open(ui_file,'r') as f:
# o = StringIO()
# frame = {}
# compileUi(f, o, indent = 0)
# pyc = compile(o.getvalue(), '<string>', 'exec')
# exec(pyc, frame)
# # Fetch the base_class and form class based on their type in the xml from design
# form_class = frame['Ui_{0}'.format(form_class)]
# base_class = eval('{0}'.format(widget_class))
# return form_class, base_class