[vtkusers] Question about conversion of winId in QVTKRenderWindowInteractor.__init__
Elvis Stansvik
elvis.stansvik at orexplore.com
Wed Jun 15 08:44:07 EDT 2016
Hi all,
I have a question about this chunk of code in
QVTKRenderWindowInteractor.__init__:
WId = self.winId()
# Python2
if type(WId).__name__ == 'PyCObject':
from ctypes import pythonapi, c_void_p, py_object
pythonapi.PyCObject_AsVoidPtr.restype = c_void_p
pythonapi.PyCObject_AsVoidPtr.argtypes = [py_object]
WId = pythonapi.PyCObject_AsVoidPtr(WId)
# Python3
elif type(WId).__name__ == 'PyCapsule':
from ctypes import pythonapi, c_void_p, py_object, c_char_p
pythonapi.PyCapsule_GetName.restype = c_char_p
pythonapi.PyCapsule_GetName.argtypes = [py_object]
name = pythonapi.PyCapsule_GetName(WId)
pythonapi.PyCapsule_GetPointer.restype = c_void_p
pythonapi.PyCapsule_GetPointer.argtypes = [py_object, c_char_p]
WId = pythonapi.PyCapsule_GetPointer(WId, name)
self._RenderWindow.SetWindowInfo(str(int(WId)))
On which platforms will these two code blocks kick in? (i.e., when is
winId() a PyCObject or PyCapsule?). It seems on Linux/X11 they do not,
since winId() returns a sip.voidptr which can be used directly in the
SetWindowInfo call.
Thanks in advance,
Elvis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20160615/132d25f9/attachment.html>
More information about the vtkusers
mailing list