#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(), '', '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