[vtkusers] about PyQt4 and vtk
Clinton Stimpson
clinton at elemtech.com
Thu Oct 15 20:27:28 EDT 2009
That's probably because reparenting is not implemented for
QVTKRenderWindowInteractor.
You could probably get around it by making an intermediate QWidget that
is the parent and put that in the mdi area.
Clint
On 10/15/2009 03:08 PM, Lic. José M. Rodriguez Bacallao wrote:
> hi folks, I'm trying to embed an QVTKRenderWindowInteractor in a mdi
> subwindow of a PyQt4 application but it raise a lot of BadWindows
> errors and Seg Faults like this:
>
> X Error: BadWindow (invalid Window parameter) 3
> Major opcode: 2 (X_ChangeWindowAttributes)
> Resource id: 0x340004b
> X Error: BadWindow (invalid Window parameter) 3
> Major opcode: 3 (X_GetWindowAttributes)
> Resource id: 0x340004b
>
> this is an example code:
>
> import sys
>
> from vtk.qt4.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor
> from PyQt4 import QtGui
>
>
> class Window(QtGui.QMainWindow):
>
> def __init__(self, title):
> super(Window, self).__init__()
>
> self.setWindowTitle(title)
>
> file_menu = self.menuBar().addMenu('&File')
> file_menu.addAction('&New Scene', self.new_scene)
>
>
> self.mdi = QtGui.QMdiArea(self)
> self.setCentralWidget(self.mdi)
> self.interactors = []
>
> def new_scene(self):
> rwi = QVTKRenderWindowInteractor(self)
> self.interactors.append(rwi)
> scene = self.mdi.addSubWindow(rwi)
> scene.show()
>
>
> app = QtGui.QApplication(sys.argv)
> window = Window('Test')
> window.showMaximized()
> app.exec_()
>
>
More information about the vtkusers
mailing list