[vtkusers] QVTKWidget trying to put a cone and a qpushbutton together
Clinton Stimpson
clinton at elemtech.com
Mon Jul 10 00:01:41 EDT 2006
> I am trying to put together a cone and a gui elements such a QPushButton,
> this is the code...
>
[snip]
> when i run this program only the cone appears but the button does not, and i
> get the following messages:
>
> X Error: BadWindow (invalid Window parameter) 3
> Major opcode: 12 (X_ConfigureWindow)
> Resource id: 0x3000009
[snip]
QVTKWidget doesn't support child windows.
The QVTKWidget's X Window has a different Visual than other Windows in
the Qt application, because VTK wants some OpenGL features supported.
For a child to have a different Visual than its parent, the
CWBorderPixel Window attribute must be specified, and Qt isn't doing
that for the QPushButton. QVTKWidget does that for whatever parent it
may be in.
Possible workarounds:
a) Disable QVTKWidget::x11_setup_window to prevent it from having a
different Visual. There's currently no way to disable it except to
modify the code. It sometimes works, but depending on your X server
settings, you could end up with a monochrome black/white graphics window.
b) Derive from QPushButton and do the X11 stuff to make it work as a child.
c) You could use a QGLWidget example with a QPushButton (which most
likely will have the same problem), and post it to the Qt mailing list
or ask Trolltech for support. Also note that a QApplication constructor
accepts a Visual, but I don't know why that doesn't work when I give it
the Visual VTK wants to use.
d) Make the QPushButton a sibling instead of a child, and lay it out the
way you want to get the same results.
Clint
More information about the vtkusers
mailing list