No subject
Mon Dec 15 09:51:36 EST 2008
rget the second event loop idea, its impossible and wouldn't solve anyt=
hing. You've already got one running, and that's good enough.=
<br>
How about using a debugger and following where the execution goes from QVTK=
Widget::mousePressEvent.<br>
<br>
Clint<br>
<br>
Luis Roberto P. Paula wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"border-left: 1px solid rgb(204, =
204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi Clint,<br>
<br>
In the main window of my application I have a QVTKWidget. I have set some c=
allbacks to detect mouse events and in this window everything is working fi=
ne.<br>
<br>
Then I tried to open a second window (QDialog for example) by clicking on a=
button of the main window. In this second window I have also a QVTKWidget =
object. I'm displaying an 2D image on it with the vtkImageViewer2 and t=
he zoom control with the mouse wheel is working fine (default action). The =
problem is with the callback that I have created. In the constructor of my =
QDialog class it is set like this:<br>
<br>
vtkImageInteractionCallback* callback =3D vtkImageInteractionCallba=
ck::New();<br>
imageStyle->AddObserver(vtkCommand::MouseMoveEvent, callback);<b=
r>
imageStyle->AddObserver(vtkCommand::LeftButtonPressEvent, callba=
ck);<br>
imageStyle->AddObserver(vtkCommand::LeftButtonReleaseEvent, call=
back);<br>
<br>
vtkWidget->GetRenderWindow()->GetInteractor()->SetInteract=
orStyle(imageStyle); <br>
<br>
None of this events are being captured.<br>
<br>
I thought it could be something wrong in the code, but when I tried to load=
this second window as the main window, everything worked.<br>
<br>
int main(int argc, char *argv[])<br>
{<br>
QApplication app(argc, argv);<br>
<br>
/*MyGui* mainWindow =3D new MyGui;<br>
mainWindow->show();*/<br>
<br>
MyDialog* dialog =3D new MyDialog; // HERE IT WORKS, B=
UT THE DIALOG SHOULD BE PART OF THE MAIN WINDOW.<br>
dialog>show();<br>
<br>
return app.exec();<br>
}<br>
<br>
Do you know why this is happening?<br>
<br>
Thanks,<br>
Luis<br>
<br>
On Wed, Feb 11, 2009 at 2:15 AM, Clinton Stimpson <<a href=3D"mailto:cli=
nton at elemtech.com" target=3D"_blank">clinton at elemtech.com</a> <mailto:<a=
href=3D"mailto:clinton at elemtech.com" target=3D"_blank">clinton at elemtech.co=
m</a>>> wrote:<br>
<br>
<br>
So which callbacks aren't working? I don't see =
how trying to make<br>
another event loop would solve a callback problem.<br>
If its a dialog, why not call exec() on it instead of show() =
?<br>
exec() will create a temporary local event loop (see QEventL=
oop).<br>
Also, each thread can only have one event loop active at a ti=
me,<br>
and all Qt widgets are on the same thread.<br>
<br>
Clint<br>
<br>
Luis Roberto P. Paula wrote:<br>
<br>
I have set the second window as a Dialog window=
and open it as<br>
modal. For some reason, the callback for this n=
ew window are<br>
not being observed.<br>
<br>
On Tue, Feb 10, 2009 at 1:04 AM, Luis Roberto P=
. Paula<br>
<<a href=3D"mailto:luisrpp at gmail.com" target=
=3D"_blank">luisrpp at gmail.com</a> <mailto:<a href=3D"mailto:luisrpp at gmai=
l.com" target=3D"_blank">luisrpp at gmail.com</a>><br>
<mailto:<a href=3D"mailto:luisrpp at gmail.com"=
target=3D"_blank">luisrpp at gmail.com</a> <mailto:<a href=3D"mailto:luisr=
pp at gmail.com" target=3D"_blank">luisrpp at gmail.com</a>>>> wrote:<br=
>
<br>
Hi All,<br>
<br>
Since QVTKInteractor cannot control the=
event loop, how do<br>
I start<br>
a second window after the click of a bu=
tton and make this new<br>
window to have its own event loop?<br>
<br>
When the button is clicked, this action=
is performed:<br>
<br>
MyWidget* widget =3D new =
MyWidget();<br>
widget->show();<br>
<br>
The new window appears, but to make the=
interactor to work,<br>
there<br>
should be a command like:<br>
<br>
qApp->exec();<br>
<br>
but QT does not allow me to start a new=
GUI event loop.<br>
<br>
Does anybody can help me?<br>
<br>
Thanks,<br>
Luis<br>
<br>
<br>
-----------------------------------------------=
-------------------------<br>
<br>
_______________________________________________=
<br>
Powered by <a href=3D"http://www.kitware.com" t=
arget=3D"_blank">www.kitware.com</a> <<a href=3D"http://www.kitware.com"=
target=3D"_blank">http://www.kitware.com</a>><br>
<br>
Visit other Kitware open-source projects at<br>
<a href=3D"http://www.kitware.com/opensource/op=
ensource.html" target=3D"_blank">http://www.kitware.com/opensource/opensour=
ce.html</a><br>
<br>
Please keep messages on-topic and check the VTK=
FAQ at:<br>
<a href=3D"http://www.vtk.org/Wiki/VTK_FAQ" tar=
get=3D"_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href=3D"http://www.vtk.org/mailman/listinfo/=
vtkusers" target=3D"_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a=
><br>
<br>
<br>
<br>
</blockquote>
<br>
<br>
_______________________________________________<br>
Powered by <a href=3D"http://www.kitware.com" target=3D"_blank">www.kitware=
.com</a><br>
<br></div></div><div class=3D"Ih2E3d">
Visit other Kitware open-source projects at <a href=3D"http://www.kitware.c=
om/opensource/opensource.html" target=3D"_blank">http://www.kitware.com/ope=
nsource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href=3D"http://w=
ww.vtk.org/Wiki/VTK_FAQ" target=3D"_blank">http://www.vtk.org/Wiki/VTK_FAQ<=
/a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href=3D"http://www.vtk.org/mailman/listinfo/vtkusers" target=3D"_blank">=
http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
</div></blockquote>
<br>
<br>
</blockquote></div><br>
--0015175ccf2ec2f7280462a7b37d--
More information about the vtkusers
mailing list