python - PyQT + VTK : QVTKRenderWindowInteractor is invisible -


i've made little program visualize 3d data pyqt , vtk. qvtkrenderwindowinteractor embed in qmainwindow centralwidget.

everything works fine if add :

self.setwindowflags(qtcore.qt.framelesswindowhint) self.setattribute(qtcore.qt.wa_translucentbackground, true) 

i hole (the qvtkrenderwindowinteractor 100% transparent). other widgets displayed correctly (menubar, statusbar, etc..)

i've tried several combinations , seems issue doesn't comes stylesheet. have absolutly no idea going on here.

any welcome :)

edit : here sample (python 2.7 , vtk. i'm using python(x,y)) :

#!/usr/bin/env python  import sys import vtk vtk.qt4.qvtkrenderwindowinteractor import qvtkrenderwindowinteractor pyqt4 import qt pyqt4 import qtgui, qtcore class test(qt.qmainwindow):     """test class"""     def __init__(self, parent=none):         qt.qmainwindow.__init__(self, parent)          self.setwindowflags(qtcore.qt.framelesswindowhint)         self.setattribute(qtcore.qt.wa_translucentbackground, true)          self.setwindowtitle(self.tr("pyqt4 vtk test"))         self.workspace = qt.qworkspace()         self.setcentralwidget(self.workspace)         self.frame = qtgui.qframe(self.workspace)         self.hbox = qtgui.qhboxlayout()         # create widget         self.widget = qvtkrenderwindowinteractor(self.frame)         self.widget.initialize()         self.widget.start()         # if dont want 'q' key exit comment this.         self.widget.addobserver("exitevent", lambda o, e, a=app: a.quit())         self.cone = vtk.vtkconesource()         self.cone.setresolution(8)         self.conemapper = vtk.vtkpolydatamapper()         self.conemapper.setinput(self.cone.getoutput())         self.coneactor = vtk.vtkactor()         self.coneactor.setmapper(self.conemapper)         self.ren = vtk.vtkrenderer()         self.ren.addactor(self.coneactor)         self.renwin=self.widget.getrenderwindow()         self.renwin.addrenderer(self.ren)         self.hbox.addwidget(self.widget)         self.frame.setlayout(self.hbox)         self.workspace.addwindow(self.frame)  if __name__ == "__main__":     app = qt.qapplication(sys.argv)     mainwindow = test()     mainwindow.show()     sys.exit(app.exec_()) 


Comments

Popular posts from this blog

Java 3D LWJGL collision -

spring - SubProtocolWebSocketHandler - No handlers -

methods - python can't use function in submodule -