Dear friends,<div><br></div><div>I&#39;m trying to make an application that should be able to summon a separate 3D graphics window from its main window. As for the UI design, I&#39;ve chosen QT 4 in cooperation with VTK. Despite being familiar with the simpleview qvtkWidget example, I haven&#39;t been able to use qvtkwidget in my QT application, at least not the way I&#39;m used to work with QWidgets. Here go the options I&#39;ve tried:<br clear="all">

<div><br></div><div>- qvtkWidget alone as separate window -&gt; crash. While I can create a QWidget object as a separate window, I can&#39;t do the same with qvtkwidget.</div><div>- qvtkWidget inserted into the layout manager of a separate QWidget, which is created to be a separate window -&gt; crash. If I do not insert it into the layout, the QWidget displays just fine. </div>

<div><br></div><div>The code I use for this later option is as follows:</div><div><br></div><div>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span><span style="color:#800000">qvtkWidget</span><span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span><span style="color:#808000">new</span><span style="color:#c0c0c0"> </span><span style="color:#800080">QVTKWidget</span>();</pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span><span style="color:#800000">window</span><span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span><span style="color:#808000">new</span><span style="color:#c0c0c0"> </span><span style="color:#800080">QWidget</span>(<span style="color:#808000">this</span>,<span style="color:#c0c0c0"> </span><span style="color:#800080">Qt</span>::<span style="color:#800080">Window</span>);</pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span><span style="color:#800000">qvtkWidget</span>-&gt;resize(<span style="color:#000080">640</span>,<span style="color:#000080">384</span>);</pre>


<pre style="margin-top:0px;margin-bottom:0px"></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span><span style="color:#800080">vtkSmartPointer</span>&lt;<span style="color:#800080">vtkLight</span>&gt;<span style="color:#c0c0c0"> </span>light<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span><span style="color:#800080">vtkSmartPointer</span>&lt;<span style="color:#800080">vtkLight</span>&gt;::New();</pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>light-&gt;<span style="font-style:italic">SetFocalPoint</span>(<span style="color:#c0c0c0"> </span><span style="color:#000080">0.21406</span><span style="color:#c0c0c0"> </span>,<span style="color:#c0c0c0"> </span><span style="color:#000080">1.5</span><span style="color:#c0c0c0"> </span>,<span style="color:#c0c0c0"> </span><span style="color:#000080">0</span><span style="color:#c0c0c0"> </span>);</pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>light-&gt;<span style="font-style:italic">SetPosition</span>(<span style="color:#c0c0c0"> </span><span style="color:#000080">8.3761</span><span style="color:#c0c0c0"> </span>,<span style="color:#c0c0c0"> </span><span style="color:#000080">4.94858</span><span style="color:#c0c0c0"> </span>,<span style="color:#c0c0c0"> </span><span style="color:#000080">4.12505</span><span style="color:#c0c0c0"> </span>);</pre>


<pre style="margin-top:0px;margin-bottom:0px"></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>VTK_CREATE(<span style="color:#800080">vtkConeSource</span>,<span style="color:#c0c0c0"> </span>cone);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>cone-&gt;SetHeight(<span style="color:#c0c0c0"> </span><span style="color:#000080">3.0</span><span style="color:#c0c0c0"> </span>);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>cone-&gt;SetRadius(<span style="color:#c0c0c0"> </span><span style="color:#000080">1.0</span><span style="color:#c0c0c0"> </span>);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>cone-&gt;SetResolution(<span style="color:#c0c0c0"> </span><span style="color:#000080">50</span><span style="color:#c0c0c0"> </span>);</pre>


<pre style="margin-top:0px;margin-bottom:0px"></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>VTK_CREATE(<span style="color:#800080">vtkPolyDataMapper</span>,<span style="color:#c0c0c0"> </span>coneMapper);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>coneMapper-&gt;ImmediateModeRenderingOn();</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>coneMapper-&gt;SetInputConnection(<span style="color:#c0c0c0"> </span>cone-&gt;GetOutputPort()<span style="color:#c0c0c0"> </span>);</pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>VTK_CREATE(<span style="color:#800080">vtkActor</span>,<span style="color:#c0c0c0"> </span>coneActor);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>coneActor-&gt;SetMapper(coneMapper);</pre>
<pre style="margin-top:0px;margin-bottom:0px"></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>VTK_CREATE(<span style="color:#800080">vtkRenderer</span>,<span style="color:#c0c0c0"> </span>renderer);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>renderer-&gt;SetBackground(<span style="color:#000080">0</span>,<span style="color:#c0c0c0"> </span><span style="color:#000080">0</span>,<span style="color:#c0c0c0"> </span><span style="color:#000080">0</span>);</pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>renderer-&gt;AddLight(light);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span>renderer-&gt;AddActor(coneActor);</pre>
<pre style="margin-top:0px;margin-bottom:0px"></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0"><br></span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span><span style="color:#800000">qvtkWidget</span>-&gt;<span style="font-style:italic">GetRenderWindow</span>()-&gt;<span style="font-style:italic">AddRenderer</span>(renderer);</pre>


<pre style="margin-top:0px;margin-bottom:0px"></pre>
<pre style="margin-top:0px;margin-bottom:0px"><font color="#c0c0c0"><br></font></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span><span style="color:#800000">window</span>-&gt;layout()-&gt;addWidget(<span style="color:#800000">qvtkWidget</span>);</pre></div><div>

<br></div><div>I&#39;m using Mac OS X 10.6, with QT 4 and VTK 5.6.1. The code, as you might guess, mimics the simpleview example. </div><div><br></div><div>Any clues?</div><div><br></div><div>Thanks for your time,</div><div>

<br></div><div>Jon</div><div><br></div>-- <br><div>Dr. Jon Agirre</div>Postdoctoral Scientist - Protein and<br>Virus X-ray Crystallography Group<br>Biophysics Unit (CSIC-UPV/EHU)<br>+0034946013357<br>
</div>