Exemplo n.º 1
0
def isAlive(qobj):
    """Report if window has been deleted or not"""
    try:
        sip.unwrapinstance(qobj)
    except RuntimeError:
        return False
    return True
Exemplo n.º 2
0
def isAlive(qobj):    
    import sip
    try:        
        sip.unwrapinstance(qobj)
    except RuntimeError:
        return False
    return True
Exemplo n.º 3
0
 def paintEvent(self, ev) :
     self.painter = QtGui.QPainter()
     self.painter.begin(self)
     self.painter.drawText(15, 15, "Contour Example using PyQt4 ...")
     os.environ['GKSconid'] = "%x!%x" % (sip.unwrapinstance(self), sip.unwrapinstance(self.painter))
     gr.updatews()
     self.painter.end()
Exemplo n.º 4
0
 def paintEvent(self, ev):
     self.painter = QtGui.QPainter()
     self.painter.begin(self)
     os.environ['GKSconid'] = "%x!%x" % (sip.unwrapinstance(self),
                                         sip.unwrapinstance(self.painter))
     gr.updatews()
     self.painter.end()
Exemplo n.º 5
0
 def paintEvent(self, ev) :
     self.painter = QtGui.QPainter()
     self.painter.begin(self)
     self.painter.drawText(15, 15, "Contour Example using PyQt5 ...")
     os.environ['GKSconid'] = "%x!%x" % (sip.unwrapinstance(self), sip.unwrapinstance(self.painter))
     gr.updatews()
     self.painter.end()
Exemplo n.º 6
0
    def printDialog(self, documentName="qtgr-untitled"):
        printer = QtGui.QPrinter(QtGui.QPrinter.HighResolution)
        printer.setDocName(documentName)
        painter = QtGui.QPainter()
        dlg = QtGui.QPrintDialog(printer)
        if dlg.exec_() == QtGui.QPrintDialog.Accepted:
            painter.begin(printer)
            os.environ["GKSconid"] = "%x!%x" % (sip.unwrapinstance(self),
                                               sip.unwrapinstance(painter))

            # upscaling to paper size and
            # alignment (horizontal and vertical centering)
            xscale = printer.pageRect().width() / float(self.width());
            yscale = printer.pageRect().height() / float(self.height());
            scale = min(xscale, yscale);
            painter.translate(printer.paperRect().x() +
                              printer.pageRect().width() / 2,
                              printer.paperRect().y() +
                              printer.pageRect().height() / 2)
            painter.scale(scale, scale);
            painter.translate(-self.width() / 2, -self.height() / 2);

            self.draw(True)
            gr.updatews()
            painter.end()
Exemplo n.º 7
0
def isAlive(qobj):
    import sip
    try:
        sip.unwrapinstance(qobj)
    except RuntimeError:
        return False
    return True
Exemplo n.º 8
0
def ctypes_blur(p, dest_img, radius, quality, alpha_only, transposed=0):
    p = ctypes.c_void_p(sip.unwrapinstance(p))
    dest_img = ctypes.c_void_p(sip.unwrapinstance(dest_img))
    radius = ctypes.c_double(radius)
    quality = ctypes.c_bool(quality)
    alpha_only = ctypes.c_bool(alpha_only)
    transposed = ctypes.c_int(transposed)
    _qt_blurImage(p, dest_img, radius, quality, alpha_only, transposed)
Exemplo n.º 9
0
def objectIsAlive(obj):
    ''' Test whether an object is alive; that is, whether the pointer
    to the object still exists. '''
    import sip
    try:
       sip.unwrapinstance(obj)
    except RuntimeError:
       return False
    return True
Exemplo n.º 10
0
def isAlive(qobj):
    """
    Function to check if window is alive
    """
    import sip
    try:
        sip.unwrapinstance(qobj)
    except RuntimeError:
        return False
    return True
Exemplo n.º 11
0
def isAlive(qobj):
    """
    Function to check if window is alive
    """
    import sip
    try:
        sip.unwrapinstance(qobj)
    except RuntimeError:
        return False
    return True
Exemplo n.º 12
0
 def paintEvent(self, ev):
     self.painter.begin(self)
     if have_pyside:
         environ['GKSconid'] = "%x!%x" % (
             int(shiboken.getCppPointer(self)[0]),
             int(shiboken.getCppPointer(self.painter)[0]))
     else:
         environ["GKSconid"] = "%x!%x" % (unwrapinstance(self),
                                          unwrapinstance(self.painter))
     updatews()
     self.painter.end()
Exemplo n.º 13
0
Arquivo: mri.py Projeto: j-fu/gr
 def paintEvent(self, ev):
     self.painter.begin(self)
     if have_pyside:
         environ['GKSconid'] = "%x!%x" % (
             int(shiboken.getCppPointer(self)[0]),
             int(shiboken.getCppPointer(self.painter)[0]))
     else:
         environ["GKSconid"] = "%x!%x" % (unwrapinstance(self),
                                          unwrapinstance(self.painter))
     updatews()
     self.painter.end()
Exemplo n.º 14
0
def isAlive(qobj):
    """is the underlying C++ object still valid?
    This function is taken from the book
    "Rapid GUI Programming with Python and Qt"
    by Mark Summerfield."""
    if qobj is None:
        return False
    try:
        sip.unwrapinstance(qobj)
    except RuntimeError:
        return False
    else:
        return True
Exemplo n.º 15
0
def test_write_to_dead():
    pidle = wx.GetApp().ProcessIdle

    f = wx.Frame(None)
    print sip.unwrapinstance(f)
    f.Destroy()
    pidle()


    for x in xrange(1):
        others = [wx.Frame(None) for x in xrange(10)]

        print [sip.unwrapinstance(o) for o in others]
Exemplo n.º 16
0
def isAlive(qobj):
    """
    Check a window is alive

    """
    return True

    import sip
    try:
        sip.unwrapinstance(qobj)
    except RuntimeError:
        return False
    return True
Exemplo n.º 17
0
def isAlive(qobj):
    """
    return True if the object qobj exist

    @param qobj: the name of the attribute
    @return: C{True} or C{False}
    """
    import sip
    try:
        sip.unwrapinstance(qobj)
    except RuntimeError:
        return False
    return True
Exemplo n.º 18
0
    def SetRenderWindow(self,w):
        """ SetRenderWindow(w: vtkRenderWindow)        
        Set a new render window to QVTKWidget and initialize the
        interactor as well
        
        """
        if w == self.mRenWin:
            return
        
        if self.mRenWin:
            if system.systemType!='Linux':
                self.mRenWin.SetInteractor(None)
            if self.mRenWin.GetMapped():
                self.mRenWin.Finalize()
            
        self.mRenWin = w

        if self.mRenWin:
            self.mRenWin.Register(None)
            if self.mRenWin.GetMapped():
                self.mRenWin.Finalize()
            if system.systemType=='Linux':
                display = None
                try:
                    display = int(QtGui.QX11Info.display())
                except TypeError:
                    # This was changed for PyQt4.2
                    if isinstance(QtGui.QX11Info.display(), QtGui.Display):
                        display = sip.unwrapinstance(QtGui.QX11Info.display())
                if display is not None:
                    v = vtk.vtkVersion()
                    version = [v.GetVTKMajorVersion(),
                               v.GetVTKMinorVersion(),
                               v.GetVTKBuildVersion()]
                    display = hex(display)[2:]
                    if version < [5, 7, 0]:
                        vp = ('_%s_void_p\0x00' % display)
                    elif version < [6, 2, 0]:
                        vp = ('_%s_void_p' % display)
                    else:
                        vp = ('_%s_p_void' % display)
                    self.mRenWin.SetDisplayId(vp)
                self.resizeWindow(1,1)
            self.mRenWin.SetWindowInfo(str(int(self.winId())))
            if self.isVisible():
                self.mRenWin.Start()

            if not self.mRenWin.GetInteractor():
                #iren = vtk.vtkRenderWindowInteractor()
                iren = QVTKRenderWindowInteractor()
#                if system.systemType=='Darwin':
#                    iren.InstallMessageProcOff()
                iren.SetRenderWindow(self.mRenWin)
                iren.Initialize()
#                if system.systemType=='Linux':
#                    system.XDestroyWindow(self.mRenWin.GetGenericDisplayId(),
#                                          self.mRenWin.GetGenericWindowId())
                self.mRenWin.SetWindowInfo(str(int(self.winId())))
                self.resizeWindow(self.width(), self.height())
                self.mRenWin.SetPosition(self.x(), self.y())
Exemplo n.º 19
0
	def doDialog(self, parentWidgetPtr):
		parentWidget = wrapinstance(parentWidgetPtr, QtGui.QWidget)
		
		self.widget = PyDiryGui.PyDiryUi(parentWidget)
		self.widget.show()
			
		return unwrapinstance(self.widget)
Exemplo n.º 20
0
def unwrap_instance(qt_object):
    '''Return pointer address for qt class instance
    '''
    if globals().has_key('sip'):
        return long(sip.unwrapinstance(qt_object))
    elif globals().has_key('shiboken'):
        return long(shiboken.getCppPointer(qt_object)[0])
Exemplo n.º 21
0
    def SetRenderWindow(self,w):
        """ SetRenderWindow(w: vtkRenderWindow)        
        Set a new render window to QVTKWidget and initialize the
        interactor as well
        
        """
        if w == self.mRenWin:
            return
        
        if self.mRenWin:
            if system.systemType!='Linux':
                self.mRenWin.SetInteractor(None)
            if self.mRenWin.GetMapped():
                self.mRenWin.Finalize()
            
        self.mRenWin = w

        if self.mRenWin:
            self.mRenWin.Register(None)
            if self.mRenWin.GetMapped():
                self.mRenWin.Finalize()
            if system.systemType=='Linux':
                display = None
                try:
                    display = int(QtGui.QX11Info.display())
                except TypeError:
                    # This was changed for PyQt4.2
                    if isinstance(QtGui.QX11Info.display(), QtGui.Display):
                        display = sip.unwrapinstance(QtGui.QX11Info.display())
                if display is not None:
                    v = vtk.vtkVersion()
                    version = [v.GetVTKMajorVersion(),
                               v.GetVTKMinorVersion(),
                               v.GetVTKBuildVersion()]
                    display = hex(display)[2:]
                    if version < [5, 7, 0]:
                        vp = ('_%s_void_p\0x00' % display)
                    elif version < [6, 2, 0]:
                        vp = ('_%s_void_p' % display)
                    else:
                        vp = ('_%s_p_void' % display)
                    self.mRenWin.SetDisplayId(vp)
                self.resizeWindow(1,1)
            self.mRenWin.SetWindowInfo(str(int(self.winId())))
            if self.isVisible():
                self.mRenWin.Start()

            if not self.mRenWin.GetInteractor():
                #iren = vtk.vtkRenderWindowInteractor()
                iren = QVTKRenderWindowInteractor()
#                if system.systemType=='Darwin':
#                    iren.InstallMessageProcOff()
                iren.SetRenderWindow(self.mRenWin)
                iren.Initialize()
#                if system.systemType=='Linux':
#                    system.XDestroyWindow(self.mRenWin.GetGenericDisplayId(),
#                                          self.mRenWin.GetGenericWindowId())
                self.mRenWin.SetWindowInfo(str(int(self.winId())))
                self.resizeWindow(self.width(), self.height())
                self.mRenWin.SetPosition(self.x(), self.y())
Exemplo n.º 22
0
    def SetRenderWindow(self, w):
        """ SetRenderWindow(w: vtkRenderWindow)        
        Set a new render window to QVTKViewWidget and initialize the
        interactor as well
        
        """
        if w == self.mRenWin:
            return

        if self.mRenWin:
            if self.mRenWin.GetMapped():
                self.mRenWin.Finalize()

        self.mRenWin = w

        if self.mRenWin:
            self.mRenWin.Register(None)
            if system.systemType == "Linux":
                try:
                    vp = "_%s_void_p" % (hex(int(QtGui.QX11Info.display()))[2:])
                except TypeError:
                    # This was change for PyQt4.2
                    if isinstance(QtGui.QX11Info.display(), QtGui.Display):
                        display = sip.unwrapinstance(QtGui.QX11Info.display())
                        vp = "_%s_void_p" % (hex(display)[2:])
                self.mRenWin.SetDisplayId(vp)
                if not self.mRenWin.GetMapped():
                    self.mRenWin.GetInteractor().Initialize()
                    system.XDestroyWindow(self.mRenWin.GetGenericDisplayId(), self.mRenWin.GetGenericWindowId())
                    self.mRenWin.Finalize()
                self.mRenWin.SetWindowInfo(str(int(self.winId())))
            else:
                self.mRenWin.SetWindowInfo(str(int(self.winId())))
            if self.isVisible():
                self.mRenWin.Start()
Exemplo n.º 23
0
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')
Exemplo n.º 24
0
def create(docked=True):
    global dialog
    if dialog is None:
        dialog = InterpolateIt()

    if docked is True:
        ptr = mui.MQtUtil.mainWindow()
        main_window = sip.wrapinstance(long(ptr), qc.QObject)

        dialog.setParent(main_window)
        size = dialog.size()

        name = mui.MQtUtil.fullName(long(sip.unwrapinstance(dialog)))
        dock = mc.dockControl(
            allowedArea =['right', 'left'],
            area        = 'right',
            floating    = False,
            content     = name,
            width       = size.width(),
            height      = size.height(),
            label       = 'Interpolate It')

        widget = mui.MQtUtil.findControl(dock)
        dock_widget = sip.wrapinstance(long(widget), qc.QObject)
        dialog.connectDockWidget(dock, dock_widget)

    else:
        dialog.show()
Exemplo n.º 25
0
def unwrap_instance(qt_object):
    '''Return pointer address for qt class instance
    '''
    if "sip" in globals():
        return long(sip.unwrapinstance(qt_object))
    elif "shiboken" in globals():
        return long(shiboken.getCppPointer(qt_object)[0])
Exemplo n.º 26
0
def create(docked=True):
    global dialog
    if dialog is None:
        dialog = InterpolateIt()

    if docked is True:
        ptr = mui.MQtUtil.mainWindow()
        main_window = sip.wrapinstance(long(ptr), qc.QObject)

        dialog.setParent(main_window)
        size = dialog.size()

        name = mui.MQtUtil.fullName(long(sip.unwrapinstance(dialog)))
        dock = mc.dockControl(
            allowedArea =['right', 'left'],
            area        = 'right',
            floating    = False,
            content     = name,
            width       = size.width(),
            height      = size.height(),
            label       = 'Interpolate It')

        widget = mui.MQtUtil.findControl(dock)
        dock_widget = sip.wrapinstance(long(widget), qc.QObject)
        dialog.connectDockWidget(dock, dock_widget)

    else:
        dialog.show()
Exemplo n.º 27
0
  def __init__(self):
      # Init the main window.
       qt.QMainWindow.__init__(self)
       self.resize(350, 350)
 
    # Create the central widget.
       self.CentralWidget = qt.QWidget(self)
       self.setCentralWidget(self.CentralWidget)
       self.Layout = qt.QGridLayout(self.CentralWidget)
 
   # Create a button.
       self.QuitButton    = qt.QPushButton(self.centralWidget())
       self.QuitButton.setText('Quit')
       self.Layout.addWidget(self.QuitButton, 1, 0)
   # Connect the button.
       qt.QObject.connect(self.QuitButton, qt.SIGNAL('clicked()'), self.quit)
    
   # Create a root histogram.
       self.hist = ROOT.TH1F("pipo","pipo", 100, 0, 100)
 
   # Create the main TQtWidget (using sip to get the pointer to the central widget).
       self.Address = sip.unwrapinstance(self.CentralWidget)
       self.Canvas = ROOT.TQtWidget(sip.voidptr(self.Address).ascobject())
 
   # Place the TQtWidget in the main grid layout and draw the histogram.
      
       self.Layout.addWidget(sip.wrapinstance(ROOT.AddressOf(self.Canvas)[0],qt.QWidget), 0, 0)
       self.hist.Draw()
Exemplo n.º 28
0
def unwrapinstance(qobject):
    """
    """
    try:
        return long(sip.unwrapinstance(qobject))
    except:
        return long(shiboken.getCppPointer(qobject)[0])
Exemplo n.º 29
0
    def doDialog(self, parentWidgetPtr):
        parentWidget = wrapinstance(parentWidgetPtr, QtGui.QWidget)

        self.widget = PyDiryGui.PyDiryUi(parentWidget)
        self.widget.show()

        return unwrapinstance(self.widget)
Exemplo n.º 30
0
def unwrapinstance(*args, **kwargs):

    try:
        import sip
    except ImportError:
        raise RuntimeError("This method isn't executable without sip module.")

    return sip.unwrapinstance(*args, **kwargs)
Exemplo n.º 31
0
Arquivo: debug.py Projeto: hiuwo/acq4
def listQThreads():
    """Prints Thread IDs (Qt's, not OS's) for all QThreads."""
    thr = findObj('[Tt]hread')
    thr = [t for t in thr if isinstance(t, QtCore.QThread)]
    import sip
    for t in thr:
        print("--> ", t)
        print("     Qt ID: 0x%x" % sip.unwrapinstance(t))
Exemplo n.º 32
0
	def doDialog(self, parentWidgetPtr):
		parentWidget = wrapinstance(parentWidgetPtr, QtGui.QWidget)
		
		if self.widget == None:
			self.widget = PyWebIndexUi(parentWidget)
			self.widget.show()
			
		return unwrapinstance(self.widget)
Exemplo n.º 33
0
 def registerObject(cls, obj):
     """
     Workaround for PyQt bug in qgraphicsscene.items()
     All subclasses of QGraphicsObject must register themselves with this function.
     (otherwise, mouse interaction with those objects will likely fail)
     """
     if HAVE_SIP and isinstance(obj, sip.wrapper):
         cls._addressCache[sip.unwrapinstance(sip.cast(obj, QtGui.QGraphicsItem))] = obj
Exemplo n.º 34
0
    def initPlayer(self):
        log.info("initPlayer")

        # Get the address of the player's renderer (a QObject that emits signals when frames are ready)
        self.renderer_address = self.player.GetRendererQObject()
        self.player.SetQWidget(sip.unwrapinstance(self.videoPreview))
        self.renderer = sip.wrapinstance(self.renderer_address, QObject)
        self.videoPreview.connectSignals(self.renderer)
Exemplo n.º 35
0
def _qtAddress( o ) :

	global __qtModuleName
	if "PyQt" in __qtModuleName :
		import sip
		return sip.unwrapinstance( o )
	else :
		import shiboken
		return shiboken.getCppPointer( o )[0]
Exemplo n.º 36
0
	def __init__( self, parent ):
		super().__init__()

		self.parent = parent

		QCoreApplication.instance().installNativeEventFilter( self )
		
		# First, we need to convert Qt's SIP-wrapped xcb_connection_t to an xcffib Connection.
		self.connection = xcffib.wrap( sip.unwrapinstance( QX11Info.connection() ) )
		self.connection.ensure_connected()
Exemplo n.º 37
0
    def setCustomRenderer(self, layer):
        """Function provides a way how to set custom renderer.

        For more check changeAttributeValues() implementation of OSM provider.

        @param layer point to QGIS vector layer
        """

        import sip
        layerAddr = sip.unwrapinstance(layer)
        layer.dataProvider().changeAttributeValues( { 0x12345678 : { 0 : QVariant(layerAddr) } } )
Exemplo n.º 38
0
 def snap(self, no_cancel=0):
     "Snap a picture, returning a PIL image object with the results"
     (mode, last_frame, (xsize, ysize), depth, bytes_per_line) = self.get_parameters()
     if mode in ["gray", "red", "green", "blue"]:
         format = 32
     elif mode == "color":
         format = 32
     else:
         raise ValueError('got unknown "mode" from self.get_parameters()')
     im = QImage(xsize, ysize, format)
     self.dev.snap(sip.voidptr(sip.unwrapinstance(im)), no_cancel)
     return im
Exemplo n.º 39
0
def _qtAddress( o ) :

	global __qtModuleName
	if "PyQt" in __qtModuleName :
		import sip
		return sip.unwrapinstance( o )
	else :
		try :
			import PySide.shiboken as shiboken
		except ImportError :
			import shiboken

		return shiboken.getCppPointer( o )[0]
Exemplo n.º 40
0
Arquivo: ui.py Projeto: skarone/PipeL
def GetFullName(QObject):
    '''
    Get the fullName of a QObject
    '''
    pointer = sip.unwrapinstance(QObject)
    if type(pointer) == long:
        windowString = mui.MQtUtil.fullName(pointer)
        if windowString:
            return windowString
        else:
            return ""
    else:
        # Fix for bug in 32bit Maya.... build the long name as we search for the QObject
        return GetQtWidget(QObject.objectName(), LongName = True)[-1]
Exemplo n.º 41
0
def unwrapinstance(obj):
	"""
	Utility to convert a Qt class instance to a pointer

	:param obj: Object to unwrap
	:type obj: Qt Object
	:return: Unwrapped instance pointer
	:rtype: long
	"""
	if obj is None:
		return
	if qt_lib == 'pyqt':
		return sip.unwrapinstance(obj)
	elif qt_lib == 'pyside':
		return long(shiboken.getCppPointer(obj))
Exemplo n.º 42
0
    def SetRenderWindow(self,w):
        """ SetRenderWindow(w: vtkRenderWindow)        
        Set a new render window to QVTKWidget and initialize the
        interactor as well
        
        """
        if w == self.mRenWin:
            return
        
        if self.mRenWin:
            if system.systemType!='Linux':
                self.mRenWin.SetInteractor(None)
            if self.mRenWin.GetMapped():
                self.mRenWin.Finalize()
            
        self.mRenWin = w
        
        if self.mRenWin:
            self.mRenWin.Register(None)
            if self.mRenWin.GetMapped():
                self.mRenWin.Finalize()
            if system.systemType=='Linux':
                try:
                    vp = '_%s_void_p' % (hex(int(QtGui.QX11Info.display()))[2:])
                except TypeError:
                    #This was change for PyQt4.2
                    if isinstance(QtGui.QX11Info.display(),QtGui.Display):
                        display = sip.unwrapinstance(QtGui.QX11Info.display())
                        vp = '_%s_void_p' % (hex(display)[2:])
                self.mRenWin.SetDisplayId(vp)
                self.resizeWindow(1,1)
            self.mRenWin.SetWindowInfo(str(int(self.winId())))
            if self.isVisible():
                self.mRenWin.Start()

            if not self.mRenWin.GetInteractor():
                iren = vtksnl.vtkRenderWindowInteractor()
                if system.systemType=='Darwin':
                    iren.InstallMessageProcOff()
                iren.SetRenderWindow(self.mRenWin)
                iren.Initialize()
                if system.systemType=='Linux':
                    system.XDestroyWindow(self.mRenWin.GetGenericDisplayId(),
                                          self.mRenWin.GetGenericWindowId())
                self.mRenWin.SetWindowInfo(str(int(self.winId())))
                self.resizeWindow(self.width(), self.height())
                self.mRenWin.SetPosition(self.x(), self.y())
Exemplo n.º 43
0
    def from_qt(cls):
        """
        Create and return a :class:`Display` object from the Qt display
        connection, as available in :meth:`PyQt4.QtGui.QX11Info.display()`.

        Raise :exc:`~exceptions.DisplayError`, if no Qt display connection
        is available.  Raise :exc:`~exceptions.ImportError`, if either
        :mod:`sip` or :mod:`PyQt4.QtGui` are not available.
        """
        import sip
        from PyQt4.QtGui import QX11Info

        display = QX11Info.display()
        if not display:
            raise DisplayError()
        display_address = sip.unwrapinstance(display)
        return cls(cast(display_address, xlib.Display_p))