<html><head></head><body>Hi,<br>
<br>
For starters, I have read the thread on this issue:<br>
http://www.vtk.org/pipermail/vtkusers/2008-November/098242.html<br>
<br>
However I managed to get vtkImageViewer2 working inside a QVTKWidget, with one glitch however. The
sample code is printed at the bottom of the screen.<br>
The way I got this to work relies on the order in which calls to Render and SetRenderWindow are
made. First I render the image viewer by calling vtkImageViewer2::Render, after that I attach the
image viewer render window to the QVTKWidget. This works, but because I call render first a
separate render window is created and then (after the call to QVTKWidget::SetRenderWindow)
reparented to the QVTKWidget. This happens really fast, so I guess I could live with it. But it
keeps me wondering what I should do to have it functioning properly. Any advice on how to
circumvent or fix vtkImageViewer2 would be welcome.<br>
<br>
best,<br>
Jeroen<br>
<br>
<br>
#include &lt;vtkRenderer.h&gt;<br>
#include &lt;vtkRenderWindow.h&gt;<br>
#include &lt;vtkImageViewer2.h&gt;<br>
#include &lt;vtkRenderWindowInteractor.h&gt;<br>
#include &lt;vtkPNGReader.h&gt;<br>
<br>
#include &lt;QVTKWidget.h&gt;<br>
<br>
#include &lt;QApplication&gt;<br>
#include &lt;QMainWindow&gt;<br>
#include &lt;QStatusBar&gt;<br>
<br>
int main ( int argc, char **argv )<br>
{<br>
    QApplication app(argc,argv);<br>
<br>
    const char* fileName = argv[1];<br>
    <br>
    QMainWindow w;<br>
    w.statusBar()-&gt;showMessage(fileName);<br>
<br>
    QVTKWidget vtkWidget;<br>
    vtkWidget.setAutomaticImageCacheEnabled(false);<br>
    w.setCentralWidget(&amp;vtkWidget);<br>
<br>
    vtkPNGReader *reader1 = vtkPNGReader::New ();<br>
    reader1-&gt;SetFileName(fileName);<br>
    reader1-&gt;Update ();<br>
<br>
    vtkImageViewer2 *viewer1 = vtkImageViewer2::New ();<br>
    viewer1-&gt;SetInput(reader1-&gt;GetOutput());<br>
    viewer1-&gt;SetupInteractor(vtkWidget.GetInteractor());<br>
    viewer1-&gt;Render ();<br>
    viewer1-&gt;SetRenderWindow(vtkWidget.GetRenderWindow());<br>
<br>
    w.show ();<br>
      <br>
    app.exec ();<br>
<br>
    viewer1-&gt;Delete ();<br>
    reader1-&gt;Delete ();<br>
}<br>
<br>
<br>
<div><font size="2"></font> </div></body></html>