Hi Christian,<div><br></div><div>Here is what we do in CTK to grab a QVTKWidget:</div><div><a href="https://github.com/commontk/CTK/blob/master/Libs/Visualization/VTK/Widgets/ctkVTKWidgetsUtils.cpp">https://github.com/commontk/CTK/blob/master/Libs/Visualization/VTK/Widgets/ctkVTKWidgetsUtils.cpp</a></div>

<div><br></div><div>Please note that it means that QVTKWidget::cachedImage must be turned on.</div><div><br></div><div>Hth,</div><div>Julien.<br><div><br><div class="gmail_quote">On Wed, Feb 8, 2012 at 7:16 AM, Christian Lackas <span dir="ltr">&lt;<a href="mailto:lackas@invicro.com">lackas@invicro.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Everybody,<br>
<br>
we are using VTK in a Qt-based application of ours and employ QVTKWidget<br>
for this. To allow the user to store rendered data as images, we use<br>
code such as:<br>
<br>
    class VRenderer: public QVTKWidget {<br>
        Q_OBJECT<br>
        public:<br>
            ...<br>
            QPixmap grabImage() {<br>
                QPixmap pixmap( size() );<br>
                render( &amp;pixmap );<br>
                return pixmap;<br>
            }<br>
        ...<br>
    };<br>
<br>
and then use the QPixmap object to produce an image file (which aligns<br>
well with our non-VTK-based rendering widgets).<br>
On Mac OS X, as well as Linux and many Windows systems this does work<br>
pretty well. Unfortunately, we do have a couple of Windows system<br>
(Vista, 7, 32- and 64-bit, but not consistently on one platform) where<br>
above code produces merely an all-black image.<br>
I assume this has something to do with how the graphic card driver<br>
handles the OpenGL drawing (or something along this line, e.g.<br>
asynchronous processing, where we grab the image to early, etc...).<br>
<br>
I already tried using functions such as vtkRenderWindow::WaitForCompletion(),<br>
however, as the documentation suggest that was not useful here, calling<br>
vtkRenderWindow::Render() explicitly myself, etc...<br>
<br>
Is there a way to make sure that a QVTKWidget renders and actual image<br>
into my pixmap?<br>
<br>
Or should I start using vtkRenderWindow::GetRGBAPixelData() instead?<br>
<br>
Thanks for any hints.<br>
<span class="HOEnZb"><font color="#888888"> Christian<br>
<br>
--<br>
<a href="http://www.invicro.com/" target="_blank">http://www.invicro.com/</a>  <a href="http://www.spect-ct.com/" target="_blank">http://www.spect-ct.com/</a><br>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
</font></span></blockquote></div><br></div></div>