Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # import os
- # import maya.cmds as cmds
- # qc.QDir.setCurrent("F:/kTools/")
- import pysideuic
- import xml.etree.ElementTree as xml
- from cStringIO import StringIO
- from PySide import QtCore as qc
- from PySide import QtGui as qg
- import shiboken
- def wrapinstance(ptr, base=None):
- # Nathan Horne' wrap instance.
- # 'wrap a long pointer as a QtObject'
- if ptr is None:
- return None
- ptr = long(ptr) #Ensure type
- if globals().has_key('shiboken'):
- if base is None:
- qObj = shiboken.wrapInstance(long(ptr), qc.QObject)
- metaObj = qObj.metaObject()
- cls = metaObj.className()
- superCls = metaObj.superClass().className()
- if hasattr(qg, cls):
- base = getattr(qg, cls)
- elif hasattr(qg, superCls):
- base = getattr(qg, superCls)
- else:
- base = qg.QWidget
- return shiboken.wrapInstance(long(ptr), base)
- elif globals().has_key('sip'):
- base = qc.QObject
- return sip.wrapinstance(long(ptr), base)
- else:
- return None
- def loadUiType(uiFile):
- 'load a .ui file in memory'
- parsed = xml.parse(uiFile)
- widget_class = parsed.find('widget').get('class')
- form_class = parsed.find('class').text
- with open(uiFile, 'r') as f:
- o = StringIO()
- frame = {}
- pysideuic.compileUi(f, o, indent=0)
- pyc = compile(o.getvalue(), '<string>', 'exec')
- exec pyc in frame
- # Fetch the base_class and form class based on their type
- # in the xml from designer
- form_class = frame['Ui_%s'%form_class]
- base_class = eval('qg.%s'%widget_class)
- return form_class, base_class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement