Python sip.wrapinstance() Examples
The following are 30
code examples of sip.wrapinstance().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
sip
, or try the search function
.
Example #1
Source File: pyqt.py From mgear_core with MIT License | 8 votes |
def qt_import(shi=False, cui=False): """ import pyside/pyQt Returns: multi: QtGui, QtCore, QtWidgets, wrapInstance """ lookup = ["PySide2", "PySide", "PyQt4"] preferredBinding = os.environ.get("MGEAR_PYTHON_QT_BINDING", None) if preferredBinding is not None and preferredBinding in lookup: lookup.remove(preferredBinding) lookup.insert(0, preferredBinding) for binding in lookup: try: return _qt_import(binding, shi, cui) except Exception: pass raise _qt_import("ThisBindingSurelyDoesNotExist", False, False)
Example #2
Source File: lightManager.py From PythonForMayaSamples with GNU General Public License v3.0 | 7 votes |
def getDock(name='LightingManagerDock'): """ This function creates a dock with the given name. It's an example of how we can mix Maya's UI elements with Qt elements Args: name: The name of the dock to create Returns: QtWidget.QWidget: The dock's widget """ # First lets delete any conflicting docks deleteDock(name) # Then we create a workspaceControl dock using Maya's UI tools # This gives us back the name of the dock created ctrl = pm.workspaceControl(name, dockToMainWindow=('right', 1), label="Lighting Manager") # We can use the OpenMayaUI API to get the actual Qt widget associated with the name qtCtrl = omui.MQtUtil_findControl(ctrl) # Finally we use wrapInstance to convert it to something Python can understand, in this case a QWidget ptr = wrapInstance(long(qtCtrl), QtWidgets.QWidget) # And we return that QWidget back to whoever wants it. return ptr
Example #3
Source File: __init__.py From anima with MIT License | 7 votes |
def get_maya_main_window(): """Get the main Maya window as a QtGui.QMainWindow instance @return: QtGui.QMainWindow instance of the top level Maya windows ref: https://stackoverflow.com/questions/22331337/how-to-get-maya-main-window-pointer-using-pyside """ from anima.ui.lib import QtWidgets, QtCore from maya import OpenMayaUI ptr = OpenMayaUI.MQtUtil.mainWindow() if ptr is not None: from anima.ui.lib import IS_PYSIDE, IS_PYSIDE2, IS_PYQT4, IS_QTPY if IS_PYSIDE(): import shiboken return shiboken.wrapInstance(long(ptr), QtWidgets.QWidget) elif IS_PYSIDE2(): import shiboken2 return shiboken2.wrapInstance(long(ptr), QtWidgets.QWidget) elif IS_PYQT4(): import sip return sip.wrapinstance(long(ptr), QtCore.QObject)
Example #4
Source File: pyqt.py From mgear_core with MIT License | 6 votes |
def maya_main_window(): """Get Maya's main window Returns: QMainWindow: main window. """ main_window_ptr = omui.MQtUtil.mainWindow() return QtCompat.wrapInstance(long(main_window_ptr), QtWidgets.QWidget)
Example #5
Source File: pyqt.py From mgear_core with MIT License | 6 votes |
def _qt_import(binding, shi=False, cui=False): QtGui = None QtCore = None QtWidgets = None wrapInstance = None if binding == "PySide2": from PySide2 import QtGui, QtCore, QtWidgets import shiboken2 as shiboken from shiboken2 import wrapInstance from pyside2uic import compileUi elif binding == "PySide": from PySide import QtGui, QtCore import PySide.QtGui as QtWidgets import shiboken from shiboken import wrapInstance from pysideuic import compileUi elif binding == "PyQt4": from PyQt4 import QtGui from PyQt4 import QtCore import PyQt4.QtGui as QtWidgets from sip import wrapinstance as wrapInstance from PyQt4.uic import compileUi print("Warning: 'shiboken' is not supported in 'PyQt4' Qt binding") shiboken = None else: raise Exception("Unsupported python Qt binding '%s'" % binding) rv = [QtGui, QtCore, QtWidgets, wrapInstance] if shi: rv.append(shiboken) if cui: rv.append(compileUi) return rv
Example #6
Source File: rgb-ida.py From ida-images with MIT License | 6 votes |
def __init__(self, title): self._title = title # IDA 7+ Widgets if USING_IDA7API: import sip self._form = idaapi.create_empty_widget(self._title) self.widget = sip.wrapinstance(long(self._form), QtWidgets.QWidget) # legacy IDA PluginForm's else: self._form = idaapi.create_tform(self._title, None) if USING_PYQT5: self.widget = idaapi.PluginForm.FormToPyQtWidget(self._form) else: self.widget = idaapi.PluginForm.FormToPySideWidget(self._form)
Example #7
Source File: Qt.py From NukeToolSet with MIT License | 6 votes |
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")
Example #8
Source File: Qt.py From dm2skin with The Unlicense | 6 votes |
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")
Example #9
Source File: universal_tool_template_1112.py From universal_tool_template.py with MIT License | 5 votes |
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)
Example #10
Source File: painter.py From IDArling with GNU General Public License v3.0 | 5 votes |
def widget_visible(self, twidget): widget = sip.wrapinstance(long(twidget), QWidget) if widget.windowTitle() != "Functions window": return table = widget.layout().itemAt(0).widget() # Replace the table's item delegate model = Painter.ProxyItemModel(table.model(), self._plugin, self) old_deleg = table.itemDelegate() new_deleg = Painter.ProxyItemDelegate(old_deleg, model, self) table.setItemDelegate(new_deleg)
Example #11
Source File: universal_tool_template_1100.py From universal_tool_template.py with MIT License | 5 votes |
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)
Example #12
Source File: universal_tool_template_1110.py From universal_tool_template.py with MIT License | 5 votes |
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)
Example #13
Source File: UITranslator_v1.0.py From universal_tool_template.py with MIT License | 5 votes |
def main(): parentWin = None app = None if deskMode == 0: if qtMode == 0: # ==== for pyside ==== parentWin = shiboken.wrapInstance(long(mui.MQtUtil.mainWindow()), QtGui.QWidget) elif qtMode == 1: # ==== for PyQt==== parentWin = sip.wrapinstance(long(mui.MQtUtil.mainWindow()), QtCore.QObject) if deskMode == 1: app = QtGui.QApplication(sys.argv) # single UI window code, so no more duplicate window instance when run this function global single_UITranslator if single_UITranslator is None: single_UITranslator = UITranslator(parentWin) # extra note: in Maya () for no parent; (parentWin,0) for extra mode input single_UITranslator.show() if deskMode == 1: sys.exit(app.exec_()) # example: show ui stored print(single_UITranslator.uiList.keys()) return single_UITranslator # If you want to be able to load multiple windows of the same ui, use code below
Example #14
Source File: universal_tool_template_0903.py From universal_tool_template.py with MIT License | 5 votes |
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)
Example #15
Source File: universal_tool_template_0803.py From universal_tool_template.py with MIT License | 5 votes |
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)
Example #16
Source File: universal_tool_template_0904.py From universal_tool_template.py with MIT License | 5 votes |
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)
Example #17
Source File: universal_tool_template_1000.py From universal_tool_template.py with MIT License | 5 votes |
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)
Example #18
Source File: universal_tool_template_v7.3.py From universal_tool_template.py with MIT License | 5 votes |
def mui_to_qt(self, mui_name): 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 == 0: # ==== for pyside ==== return shiboken.wrapInstance(long(ptr), QtGui.QWidget) elif qtMode == 1: # ==== for PyQt==== return sip.wrapinstance(long(ptr), QtCore.QObject)
Example #19
Source File: universal_tool_template_v8.1.py From universal_tool_template.py with MIT License | 5 votes |
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)
Example #20
Source File: universal_tool_template_1010.py From universal_tool_template.py with MIT License | 5 votes |
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)
Example #21
Source File: lightManager2016Below.py From PythonForMayaSamples with GNU General Public License v3.0 | 5 votes |
def getMayaMainWindow(): """ Since Maya is Qt, we can parent our UIs to it. This means that we don't have to manage our UI and can leave it to Maya. Returns: QtWidgets.QMainWindow: The Maya MainWindow """ # We use the OpenMayaUI API to get a reference to Maya's MainWindow win = omui.MQtUtil_mainWindow() # Then we can use the wrapInstance method to convert it to something python can understand # In this case, we're converting it to a QMainWindow ptr = wrapInstance(long(win), QtWidgets.QMainWindow) # Finally we return this to whoever wants it return ptr
Example #22
Source File: lightManager.py From PythonForMayaSamples with GNU General Public License v3.0 | 5 votes |
def getMayaMainWindow(): """ Since Maya is Qt, we can parent our UIs to it. This means that we don't have to manage our UI and can leave it to Maya. Returns: QtWidgets.QMainWindow: The Maya MainWindow """ # We use the OpenMayaUI API to get a reference to Maya's MainWindow win = omui.MQtUtil_mainWindow() # Then we can use the wrapInstance method to convert it to something python can understand # In this case, we're converting it to a QMainWindow ptr = wrapInstance(long(win), QtWidgets.QMainWindow) # Finally we return this to whoever wants it return ptr
Example #23
Source File: _compat.py From mGui with MIT License | 5 votes |
def _pyqt5_as_qt_object(widget): from PyQt5.QtWidgets import QWidget from sip import wrapinstance if hasattr(widget, '__qt_object__'): return widget.__qt_object__ ptr = _find_widget_ptr(widget) return wrapinstance(long(ptr), QWidget)
Example #24
Source File: BlendTransforms.py From BlendTransforms with The Unlicense | 5 votes |
def BT_GetMayaWindow(): ptr = apiUI.MQtUtil.mainWindow() if ptr is not None: if BT_MayaVersionNumber < 2014: return wrapinstance(long(ptr), QtCore.QObject) else: return wrapInstance(long(ptr), QtGui.QWidget)
Example #25
Source File: BlendTransforms.py From BlendTransforms with The Unlicense | 5 votes |
def BT_GetMayaWindow(): ptr = apiUI.MQtUtil.mainWindow() if ptr is not None: if BT_MayaVersionNumber < 2014: return wrapinstance(long(ptr), QtCore.QObject) else: return wrapInstance(long(ptr), QtGui.QWidget)
Example #26
Source File: BlendTransforms.py From BlendTransforms with The Unlicense | 5 votes |
def BT_GetMayaWindow(): ptr = apiUI.MQtUtil.mainWindow() if ptr is not None: if BT_MayaVersionNumber < 2014: return wrapinstance(long(ptr), QtCore.QObject) else: return wrapInstance(long(ptr), QtGui.QWidget)
Example #27
Source File: BlendTransforms.py From BlendTransforms with The Unlicense | 5 votes |
def BT_GetMayaWindow(): ptr = apiUI.MQtUtil.mainWindow() if ptr is not None: if BT_MayaVersionNumber < 2014: return wrapinstance(long(ptr), QtCore.QObject) else: return wrapInstance(long(ptr), QtGui.QWidget)
Example #28
Source File: ida_prefix.py From prefix with MIT License | 5 votes |
def get_selected_funcs(): """ Return the list of function names selected in the Functions window. """ import sip twidget = idaapi.find_widget("Functions window") widget = sip.wrapinstance(int(twidget), QtWidgets.QWidget) # 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)
Example #29
Source File: ida_api.py From lighthouse with MIT License | 5 votes |
def create_dockable_widget(self, parent, dockable_name): import sip # create a dockable widget, and save a reference to it for later use twidget = idaapi.create_empty_widget(dockable_name) self._dockable_widgets[dockable_name] = twidget # cast the IDA 'twidget' as a Qt widget for use widget = sip.wrapinstance(int(twidget), QtWidgets.QWidget) widget.name = dockable_name widget.visible = False # return the dockable QtWidget / container return widget
Example #30
Source File: ida_api.py From lighthouse with MIT License | 5 votes |
def _get_ida_bg_color_from_view(self): """ Get the background color of the IDA disassembly views via widget inspection. """ logger.debug("Attempting to get IDA disassembly background color from view...") names = ["Enums", "Structures"] names += ["Hex View-%u" % i for i in range(5)] names += ["IDA View-%c" % chr(ord('A') + i) for i in range(5)] # find a form (eg, IDA view) to analyze colors from for window_name in names: twidget = idaapi.find_widget(window_name) if twidget: break else: logger.debug(" - Failed to find donor view...") return None # touch the target form so we know it is populated self._touch_ida_window(twidget) # locate the Qt Widget for a form and take 1px image slice of it import sip widget = sip.wrapinstance(int(twidget), QtWidgets.QWidget) pixmap = widget.grab(QtCore.QRect(0, 10, widget.width(), 1)) # convert the raw pixmap into an image (easier to interface with) image = QtGui.QImage(pixmap.toImage()) # return the predicted background color return QtGui.QColor(predict_bg_color(image))