<div dir="ltr">Hi,<div><br></div><div style>Yes. I have this so far and further more I want to realize a mouseEvent callback in the main class.</div><div style><br></div><div style><div> connection = vtkSmartPointer&lt;vtkEventQtSlotConnect&gt;::New();</div>
<div> </div><div> connection-&gt;Connect(this-&gt;ui-&gt;qvtkWidget_1-&gt;GetInteractor(),</div><div> vtkCommand::MouseMoveEvent,</div><div> this,</div><div> SLOT(mouseMoveCallback(vtkObject*,ulong,void*,void*,vtkCommand*)),</div>
<div> NULL,2.0);</div><div><br></div><div><br></div><div> void Viewer::mouseMoveCallback(vtkObject * obj, unsigned long,</div><div> void * client_data, void *,</div><div> vtkCommand * command)</div></div><div style><pre style="margin-top:0px;margin-bottom:0px">
<pre style="margin-top:0px;margin-bottom:0px"><pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px"><font face="arial, helvetica, sans-serif">The thing is I have three qvtkWidget and how can I let slot function know which one&#39;s interactor is calling?</font></pre>
<pre style="margin-top:0px;margin-bottom:0px"><font face="arial, helvetica, sans-serif"><br></font></pre><pre style="margin-top:0px;margin-bottom:0px"><font face="arial, helvetica, sans-serif"><br></font></pre><pre style="margin-top:0px;margin-bottom:0px">
<font face="arial, helvetica, sans-serif">Sun Tao</font></pre></pre></pre></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/5/28 David Doria <span dir="ltr">&lt;<a href="mailto:daviddoria@gmail.com" target="_blank">daviddoria@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Tue, May 28, 2013 at 8:29 AM, tao sun &lt;<a href="mailto:colddiesun@gmail.com">colddiesun@gmail.com</a>&gt; wrote:<br>

&gt; Hi,<br>
&gt;<br>
</div><div class="im">&gt; I overload mouseEvents as functions of the vtkInteractorStyleImage subclass.<br>
&gt; Do you mean I should name a member to indicate the current interactor and<br>
&gt; QVtkWidget? How could a slot function of the mouseevent know that which<br>
&gt; QvtkWidget&#39;s interactor call it?<br>
&gt;<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Sun Tao<br>
<br>
<br>
</div>I was talking about something like this:<br>
<br>
#include &quot;SideBySideRenderWindowsQt.h&quot;<br>
<br>
#include &lt;vtkDataObjectToTable.h&gt;<br>
#include &lt;vtkElevationFilter.h&gt;<br>
#include &lt;vtkPolyDataMapper.h&gt;<br>
#include &lt;vtkQtTableView.h&gt;<br>
#include &lt;vtkRenderer.h&gt;<br>
#include &lt;vtkRenderWindow.h&gt;<br>
#include &lt;vtkSphereSource.h&gt;<br>
#include &lt;vtkCubeSource.h&gt;<br>
#include &lt;vtkSmartPointer.h&gt;<br>
#include &lt;vtkInteractorStyleTrackballCamera.h&gt;<br>
<br>
// Define interaction style<br>
class MyInteractorStyle : public vtkInteractorStyleTrackballCamera<br>
{<br>
  public:<br>
    static MyInteractorStyle* New();<br>
    vtkTypeMacro(MyInteractorStyle, vtkInteractorStyleTrackballCamera);<br>
<br>
    void SetName(const std::string&amp; styleName)<br>
    {<br>
        this-&gt;StyleName = styleName;<br>
    }<br>
<br>
    virtual void OnMouseMove()<br>
    {<br>
        // Just get the address<br>
      std::cout &lt;&lt; &quot;OnMouseMove() in &quot; &lt;&lt; this &lt;&lt; std::endl;<br>
<br>
      // Get the &quot;name&quot;<br>
      std::cout &lt;&lt; &quot;OnMouseMove() in &quot; &lt;&lt; this-&gt;StyleName &lt;&lt; std::endl;<br>
<br>
      // Forward events<br>
      vtkInteractorStyleTrackballCamera::OnMouseMove();<br>
    }<br>
<br>
private:<br>
    std::string StyleName;<br>
};<br>
<br>
vtkStandardNewMacro(MyInteractorStyle);<br>
<br>
// Constructor<br>
SideBySideRenderWindowsQt::SideBySideRenderWindowsQt()<br>
{<br>
  this-&gt;setupUi(this);<br>
<br>
  // Sphere<br>
  vtkSmartPointer&lt;vtkSphereSource&gt; sphereSource =<br>
      vtkSmartPointer&lt;vtkSphereSource&gt;::New();<br>
  sphereSource-&gt;Update();<br>
  vtkSmartPointer&lt;vtkPolyDataMapper&gt; sphereMapper =<br>
      vtkSmartPointer&lt;vtkPolyDataMapper&gt;::New();<br>
  sphereMapper-&gt;SetInputConnection(sphereSource-&gt;GetOutputPort());<br>
  vtkSmartPointer&lt;vtkActor&gt; sphereActor =<br>
      vtkSmartPointer&lt;vtkActor&gt;::New();<br>
  sphereActor-&gt;SetMapper(sphereMapper);<br>
<br>
  // Cube<br>
  vtkSmartPointer&lt;vtkCubeSource&gt; cubeSource =<br>
      vtkSmartPointer&lt;vtkCubeSource&gt;::New();<br>
  cubeSource-&gt;Update();<br>
  vtkSmartPointer&lt;vtkPolyDataMapper&gt; cubeMapper =<br>
      vtkSmartPointer&lt;vtkPolyDataMapper&gt;::New();<br>
  cubeMapper-&gt;SetInputConnection(cubeSource-&gt;GetOutputPort());<br>
  vtkSmartPointer&lt;vtkActor&gt; cubeActor =<br>
      vtkSmartPointer&lt;vtkActor&gt;::New();<br>
  cubeActor-&gt;SetMapper(cubeMapper);<br>
<br>
  // VTK Renderer<br>
  vtkSmartPointer&lt;vtkRenderer&gt; leftRenderer =<br>
      vtkSmartPointer&lt;vtkRenderer&gt;::New();<br>
  leftRenderer-&gt;AddActor(sphereActor);<br>
<br>
  vtkSmartPointer&lt;vtkRenderer&gt; rightRenderer =<br>
      vtkSmartPointer&lt;vtkRenderer&gt;::New();<br>
<br>
  // Add Actor to renderer<br>
  rightRenderer-&gt;AddActor(cubeActor);<br>
<br>
  // VTK/Qt wedded<br>
  vtkSmartPointer&lt;MyInteractorStyle&gt; leftInteractorStyle =<br>
vtkSmartPointer&lt;MyInteractorStyle&gt;::New();<br>
  leftInteractorStyle-&gt;SetName(&quot;Left&quot;);<br>
<br>
  vtkSmartPointer&lt;MyInteractorStyle&gt; rightInteractorStyle =<br>
vtkSmartPointer&lt;MyInteractorStyle&gt;::New();<br>
  rightInteractorStyle-&gt;SetName(&quot;Right&quot;);<br>
<br>
  this-&gt;qvtkWidgetLeft-&gt;GetInteractor()-&gt;SetInteractorStyle(leftInteractorStyle);<br>
  this-&gt;qvtkWidgetRight-&gt;GetInteractor()-&gt;SetInteractorStyle(rightInteractorStyle);<br>
<br>
  this-&gt;qvtkWidgetLeft-&gt;GetRenderWindow()-&gt;AddRenderer(leftRenderer);<br>
  this-&gt;qvtkWidgetRight-&gt;GetRenderWindow()-&gt;AddRenderer(rightRenderer);<br>
<br>
  // Set up action signals and slots<br>
  connect(this-&gt;actionExit, SIGNAL(triggered()), this, SLOT(slotExit()));<br>
}<br>
<br>
void SideBySideRenderWindowsQt::slotExit()<br>
{<br>
  qApp-&gt;exit();<br>
}<br>
<br>
Is that not where you need the information about which window is in use?<br>
<span class="HOEnZb"><font color="#888888"><br>
David<br>
</font></span></blockquote></div><br></div>