def mui_to_qt(self, mui_name):
if hostMode != "maya":
return
ptr = mui.MQtUtil.findControl(mui_name)
if ptr is None:
ptr = mui.MQtUtil.findLayout(mui_name)
if ptr is None:
ptr = mui.MQtUtil.findMenuItem(mui_name)
if ptr is not None:
if qtMode in (0,2):
# ==== for pyside ====
return shiboken.wrapInstance(long(ptr), QtWidgets.QWidget)
elif qtMode in (1,3):
# ==== for PyQt====
return sip.wrapinstance(long(ptr), QtCore.QObject)
python类wrapinstance()的实例源码
universal_tool_template_1000.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 28
收藏 0
点赞 0
评论 0
universal_tool_template_0803.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 22
收藏 0
点赞 0
评论 0
def mui_to_qt(self, mui_name):
if hostMode != "maya":
return
ptr = mui.MQtUtil.findControl(mui_name)
if ptr is None:
ptr = mui.MQtUtil.findLayout(mui_name)
if ptr is None:
ptr = mui.MQtUtil.findMenuItem(mui_name)
if ptr is not None:
if qtMode in (0,2):
# ==== for pyside ====
return shiboken.wrapInstance(long(ptr), QtWidgets.QWidget)
elif qtMode in (1,3):
# ==== for PyQt====
return sip.wrapinstance(long(ptr), QtCore.QObject)
universal_tool_template_v8.1.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 22
收藏 0
点赞 0
评论 0
def mui_to_qt(self, mui_name):
if hostMode != "maya":
return
ptr = mui.MQtUtil.findControl(mui_name)
if ptr is None:
ptr = mui.MQtUtil.findLayout(mui_name)
if ptr is None:
ptr = mui.MQtUtil.findMenuItem(mui_name)
if ptr is not None:
if qtMode in (0,2):
# ==== for pyside ====
return shiboken.wrapInstance(long(ptr), QtWidgets.QWidget)
elif qtMode in (1,3):
# ==== for PyQt====
return sip.wrapinstance(long(ptr), QtCore.QObject)
universal_tool_template_1010.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 22
收藏 0
点赞 0
评论 0
def mui_to_qt(self, mui_name):
if hostMode != "maya":
return
ptr = mui.MQtUtil.findControl(mui_name)
if ptr is None:
ptr = mui.MQtUtil.findLayout(mui_name)
if ptr is None:
ptr = mui.MQtUtil.findMenuItem(mui_name)
if ptr is not None:
if qtMode in (0,2):
# ==== for pyside ====
return shiboken.wrapInstance(long(ptr), QtWidgets.QWidget)
elif qtMode in (1,3):
# ==== for PyQt====
return sip.wrapinstance(long(ptr), QtCore.QObject)
def _pyqt5():
"""Initialise PyQt5"""
import PyQt5 as module
_setup(module, ["uic"])
try:
import sip
Qt.QtCompat.wrapInstance = (
lambda ptr, base=None: _wrapinstance(
sip.wrapinstance, ptr, base)
)
Qt.QtCompat.getCppPointer = lambda object: \
sip.unwrapinstance(object)
except ImportError:
pass # Optional
if hasattr(Qt, "_uic"):
Qt.QtCompat.loadUi = _loadUi
if hasattr(Qt, "_QtCore"):
Qt.__binding_version__ = Qt._QtCore.PYQT_VERSION_STR
Qt.__qt_version__ = Qt._QtCore.QT_VERSION_STR
Qt.QtCompat.translate = Qt._QtCore.QCoreApplication.translate
if hasattr(Qt, "_QtWidgets"):
Qt.QtCompat.setSectionResizeMode = \
Qt._QtWidgets.QHeaderView.setSectionResizeMode
_reassign_misplaced_members("pyqt5")
def getMayaWindow(qt):
ptr = omui.MQtUtil.mainWindow()
if ptr is not None:
if qt: #PyQt
return wrp(long(ptr), QObject)
else: #PySide
return wrp(long(ptr), QMainWindow)
def _pyqt5():
"""Initialise PyQt5"""
import PyQt5 as module
_setup(module, ["uic"])
try:
import sip
Qt.QtCompat.wrapInstance = (
lambda ptr, base=None: _wrapinstance(
sip.wrapinstance, ptr, base)
)
Qt.QtCompat.getCppPointer = lambda object: \
sip.unwrapinstance(object)
except ImportError:
pass # Optional
if hasattr(Qt, "_uic"):
Qt.QtCompat.loadUi = _loadUi
if hasattr(Qt, "_QtCore"):
Qt.__binding_version__ = Qt._QtCore.PYQT_VERSION_STR
Qt.__qt_version__ = Qt._QtCore.QT_VERSION_STR
Qt.QtCompat.qInstallMessageHandler = _qInstallMessageHandler
Qt.QtCompat.translate = Qt._QtCore.QCoreApplication.translate
if hasattr(Qt, "_QtWidgets"):
Qt.QtCompat.setSectionResizeMode = \
Qt._QtWidgets.QHeaderView.setSectionResizeMode
_reassign_misplaced_members("PyQt5")
_build_compatibility_members('PyQt5')
def _pyqt5():
"""Initialise PyQt5"""
import PyQt5 as module
_setup(module, ["uic"])
try:
import sip
Qt.QtCompat.wrapInstance = (
lambda ptr, base=None: _wrapinstance(
sip.wrapinstance, ptr, base)
)
Qt.QtCompat.getCppPointer = lambda object: \
sip.unwrapinstance(object)
except ImportError:
pass # Optional
if hasattr(Qt, "_uic"):
Qt.QtCompat.loadUi = _loadUi
if hasattr(Qt, "_QtCore"):
Qt.__binding_version__ = Qt._QtCore.PYQT_VERSION_STR
Qt.__qt_version__ = Qt._QtCore.QT_VERSION_STR
Qt.QtCompat.translate = Qt._QtCore.QCoreApplication.translate
if hasattr(Qt, "_QtWidgets"):
Qt.QtCompat.setSectionResizeMode = \
Qt._QtWidgets.QHeaderView.setSectionResizeMode
_reassign_misplaced_members("PyQt5")
_build_compatibility_members('PyQt5')
def get_selected_funcs():
"""
Return the list of function names selected in the Functions window.
"""
# NOTE / COMPAT:
if using_ida7api:
import sip
twidget = idaapi.find_widget("Functions window")
widget = sip.wrapinstance(long(twidget), QtWidgets.QWidget) # NOTE: LOL
else:
tform = idaapi.find_tform("Functions window")
if using_pyqt5:
widget = idaapi.PluginForm.FormToPyQtWidget(tform)
else:
widget = idaapi.PluginForm.FormToPySideWidget(tform)
# TODO: test this
if not widget:
idaapi.warning("Unable to find 'Functions window'")
return
#
# locate the table widget within the Functions window that actually holds
# all the visible function metadata
#
table = widget.findChild(QtWidgets.QTableView)
#
# scrape the selected function names from the Functions window table
#
selected_funcs = [str(s.data()) for s in table.selectionModel().selectedRows()]
#
# re-map the scraped names as they appear in the function table, to their true
# names as they are saved in the IDB. See the match_funcs(...) function
# comment for more details
#
return match_funcs(selected_funcs)
def main(mode=0):
# get parent window in Maya
parentWin = None
if hostMode == "maya":
if qtMode in (0,2): # pyside
parentWin = shiboken.wrapInstance(long(mui.MQtUtil.mainWindow()), QtWidgets.QWidget)
elif qtMode in (1,3): # PyQt
parentWin = sip.wrapinstance(long(mui.MQtUtil.mainWindow()), QtCore.QObject)
# create app object for certain host
app = None
if hostMode in ("desktop", "blender"):
app = QtWidgets.QApplication(sys.argv)
#--------------------------
# ui instance
#--------------------------
# template 1 - Keep only one copy of windows ui in Maya
global single_UITranslator
if single_UITranslator is None:
if hostMode == "maya":
single_UITranslator = UITranslator(parentWin, mode)
else:
single_UITranslator = UITranslator()
# extra note: in Maya () for no parent; (parentWin,0) for extra mode input
single_UITranslator.show()
ui = single_UITranslator
# template 2 - allow loading multiple windows of same UI in Maya
'''
if hostMode == "maya":
ui = UITranslator(parentWin)
ui.show()
else:
# extra note: in Maya () for no parent; (parentWin,0) for extra mode input
'''
# loop app object for certain host
if hostMode in ("desktop"):
sys.exit(app.exec_())
return ui
universal_tool_template_0803.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 30
收藏 0
点赞 0
评论 0
def main(mode=0):
# get parent window in Maya
parentWin = None
if hostMode == "maya":
if qtMode in (0,2): # pyside
parentWin = shiboken.wrapInstance(long(mui.MQtUtil.mainWindow()), QtWidgets.QWidget)
elif qtMode in (1,3): # PyQt
parentWin = sip.wrapinstance(long(mui.MQtUtil.mainWindow()), QtCore.QObject)
# create app object for certain host
app = None
if hostMode in ("desktop", "blender"):
app = QtWidgets.QApplication(sys.argv)
#--------------------------
# ui instance
#--------------------------
# template 1 - Keep only one copy of windows ui in Maya
global single_UniversalToolUI
if single_UniversalToolUI is None:
if hostMode == "maya":
single_UniversalToolUI = UniversalToolUI(parentWin, mode)
else:
single_UniversalToolUI = UniversalToolUI()
# extra note: in Maya () for no parent; (parentWin,0) for extra mode input
single_UniversalToolUI.show()
ui = single_UniversalToolUI
# template 2 - allow loading multiple windows of same UI in Maya
'''
if hostMode == "maya":
ui = UniversalToolUI(parentWin)
ui.show()
else:
# extra note: in Maya () for no parent; (parentWin,0) for extra mode input
'''
# loop app object for certain host
if hostMode in ("desktop"):
sys.exit(app.exec_())
return ui
universal_tool_template_0903.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 28
收藏 0
点赞 0
评论 0
def main(mode=0):
# get parent window in Maya
parentWin = None
if hostMode == "maya":
if qtMode in (0,2): # pyside
parentWin = shiboken.wrapInstance(long(mui.MQtUtil.mainWindow()), QtWidgets.QWidget)
elif qtMode in (1,3): # PyQt
parentWin = sip.wrapinstance(long(mui.MQtUtil.mainWindow()), QtCore.QObject)
# create app object for certain host
app = None
if hostMode in ("desktop", "blender"):
app = QtWidgets.QApplication(sys.argv)
#--------------------------
# ui instance
#--------------------------
# template 1 - Keep only one copy of windows ui in Maya
global single_UserClassUI
if single_UserClassUI is None:
if hostMode == "maya":
single_UserClassUI = UserClassUI(parentWin, mode)
else:
single_UserClassUI = UserClassUI()
# extra note: in Maya () for no parent; (parentWin,0) for extra mode input
single_UserClassUI.show()
ui = single_UserClassUI
# template 2 - allow loading multiple windows of same UI in Maya
'''
if hostMode == "maya":
ui = UserClassUI(parentWin)
ui.show()
else:
# extra note: in Maya () for no parent; (parentWin,0) for extra mode input
'''
# loop app object for certain host
if hostMode in ("desktop"):
sys.exit(app.exec_())
return ui
universal_tool_template_v8.1.py 文件源码
项目:universal_tool_template.py
作者: shiningdesign
项目源码
文件源码
阅读 21
收藏 0
点赞 0
评论 0
def main(mode=0):
# get parent window in Maya
parentWin = None
if hostMode == "maya":
if qtMode in (0,2): # pyside
parentWin = shiboken.wrapInstance(long(mui.MQtUtil.mainWindow()), QtWidgets.QWidget)
elif qtMode in (1,3): # PyQt
parentWin = sip.wrapinstance(long(mui.MQtUtil.mainWindow()), QtCore.QObject)
# create app object for certain host
app = None
if hostMode in ("desktop", "blender"):
app = QtWidgets.QApplication(sys.argv)
#--------------------------
# ui instance
#--------------------------
# template 1 - Keep only one copy of windows ui in Maya
global single_UniversalToolUI
if single_UniversalToolUI is None:
if hostMode == "maya":
single_UniversalToolUI = UniversalToolUI(parentWin, mode)
else:
single_UniversalToolUI = UniversalToolUI()
# extra note: in Maya () for no parent; (parentWin,0) for extra mode input
single_UniversalToolUI.show()
ui = single_UniversalToolUI
# template 2 - allow loading multiple windows of same UI in Maya
'''
if hostMode == "maya":
ui = UniversalToolUI(parentWin)
ui.show()
else:
# extra note: in Maya () for no parent; (parentWin,0) for extra mode input
'''
# loop app object for certain host
if hostMode in ("desktop"):
sys.exit(app.exec_())
return ui