[vtkusers] QVTKWidget in QT GUI freezes other QWidgets

Sankhesh Jhaveri sankhesh.jhaveri at kitware.com
Tue Oct 17 10:03:08 EDT 2017


How are you initializing the QVTKWidget?
One other thing to test would be to try removing the QTabWidget and showing
both the QVTKWidget and QWidget in the same central widget side-by-side.
Finally, you could see if the setup works fine with Qt4.

I am not sure how you would put a GLUT window inside a QWidget. But if you
have can do that, you could try the vtkExternalOpenGLRenderWindow. See
TestGLUTRenderWindow.cxx
<https://gitlab.kitware.com/vtk/vtk/blob/e029e1634631893147fad2c6b379b6ff7db92881/Rendering/External/Testing/Cxx/TestGLUTRenderWindow.cxx>
for an example.
​

On Tue, Oct 17, 2017 at 9:24 AM bartolomei-luca at virgilio.it <
bartolomei-luca at virgilio.it> wrote:

> Hello Sankhesh,
>
> thanks a lot for the reply.
>
> Let's say the GUI "pipeline" is as I explained to Elvis. Then:
>
>    - At the moment the two widgets are under the central widget (a
>    QWidget). They are in two different tabs of a QTabWidget. I tried to move
>    the QVTKWidget out of its tab but no luck. I have also noted another thing.
>    If I show at the same time the QWidget and the QVTKWidget, the QVTKWidget
>    works fine, but the QWidget freeze. That's why I thought that it could be
>    an OpenGL context issue.
>    - What do you mean by "replacing ROS widget with a simple button"? In
>    any case, I can make QVTKWidget work, but no success with the QWidget. It
>    just freeze on the last view.
>    - Unfortunately, QVTKOpenGLWidget is available only for VTK 8.0 and
>    higher. I am using VTK 7.1 and I cannot upgrade to 8.0 because of the cmake
>    that is installed on my laptop. I cannot upgrade the cmake version due to
>    some compatibility issues with ROS. I will get in a lot of trouble if I try
>    to do that. Is there a way to use glut or vtkOpenGLRenderer (available in
>    vtk 7.1)?
>
> Thanks a lot again for the help.
> Best,
> Luca
>
> ----Messaggio originale----
> Da: "Sankhesh Jhaveri" <sankhesh.jhaveri at kitware.com>
> Data: 17-ott-2017 14.21
> A: "Elvis Stansvik"<elvis.stansvik at orexplore.com>, "
> bartolomei-luca at virgilio.it"<bartolomei-luca at virgilio.it>
>
>
> Cc: "VTK Users"<vtkusers at vtk.org>
> Ogg: Re: [vtkusers] QVTKWidget in QT GUI freezes other QWidgets
>
> Hi Luca,
>
>    -
>
>    Do the QWidget and QVTKWidget overlap at all or are they separated by
>    some QFrame border, etc. ? If they are not overlapping, it means they are
>    not sharing the OpenGL context.
>    -
>
>    Have you tried replacing the ROS widget with a simple button to see if
>    the QVTKWidget works properly?
>    -
>
>    Lastly, the QVTKWidget is known to have rendering issues with Qt5. Try
>    using the QVTKOpenGLWidget to see if anything changes.
>
> Best,
> Sankhesh
>>
> On Tue, Oct 17, 2017 at 3:29 AM Elvis Stansvik <
> elvis.stansvik at orexplore.com> wrote:
>
>> 2017-10-17 9:22 GMT+02:00 bartolomei-luca at virgilio.it
>> <bartolomei-luca at virgilio.it>:
>> > Hello Elvis,
>> >
>> > thanks for your reply.
>> > I don't have the gui avaiable right now; I will send a picture as soon
>> as I
>> > can.
>> >
>> > To answer your question: yes, if I remove the QVTKWidget and replace it
>> with
>> > QWidget everything works. The problems occur only when the QVTKWidget is
>> > present.
>> >
>> > The GUI is built to work in this way:
>> > 1) start showing stuff on the QWidget;
>> > 2) After a while, the QVTKWidget shows some other stuff.
>> >
>> > The QWidget is showing some interactive scene and it uses a library
>> > ("librviz" - for ROS users) based on Ogre and OpenGL. Could the problem
>> > happen because the QVTKWidget interfere with the already existing OpenGL
>> > context?
>>
>> I don't know, but it sounds like it's possible. I think there are
>> other people on this list who knows much more about OpenGL and how VTK
>> uses it than I do, so I'll let those answer that.
>>
>> Elvis
>>
>> > I don't know if this is the cause, because it is sufficient to have the
>> > QVTKWidget on the Gui to make the QWidget freeze.
>> >
>> > Anyway, I have looked at this example:
>> > https://www.vtk.org/Wiki/VTK/Examples/Cxx/GLUT
>> > but no luck so far. Maybe is a problem of drivers (I have an Nvidia
>> GeForce
>> > GTX 950M on Ubuntu 14.04 LTS).
>> >
>> > Best,
>> > Luca
>> >
>> >
>> > ----Messaggio originale----
>> > Da: "Elvis Stansvik" <elvis.stansvik at orexplore.com>
>> > Data: 17-ott-2017 8.36
>> > A: <bartolomei-luca at virgilio.it>
>> > Cc: "VTK Users"<vtkusers at vtk.org>
>> > Ogg: Re: [vtkusers] QVTKWidget in QT GUI freezes other QWidgets
>> >
>> >
>> > Den 13 okt. 2017 12:08 em skrev "bartolomei-luca at virgilio.it"
>> > <bartolomei-luca at virgilio.it>:
>> >
>> > Hello everyone!
>> >
>> > I have a problem with the QT GUI I am creating. Basically, I have an
>> > interactive QWidget, a QVTKWidget and a "Quit" button.
>> >
>> > When I launch my app, I can interact with the QWidget without any
>> problem (I
>> > have a 3D interactive scene, where I can zoom and rotate).
>> > However, as soon as the QVTKWidget becomes "active" (i.e. some function
>> in
>> > my code start using it or if I click on it), both the QWidget and the
>> > QVTKWidget freeze. The app keeps on working, since the "Quit" button
>> works
>> > as it should.
>> >
>> > If I have a GUI with either the QWidget or the QVTKWidget (only one of
>> them)
>> > everything works fine. The problem is if I try to include both of them
>> at
>> > the same time.
>> >
>> > Do you have any idea why this happens?
>> >
>> >
>> > I don't have any immediate ideas. It would really help to see a small
>> > example where the problem occurs.
>> >
>> > Does it work if you put two of your QWidgets in the application. I
>> mean, if
>> > you remove the QVTKWidget and put another one of your QWidget where it
>> was?
>> >
>> > Elvis
>> >
>> >
>> > Thanks a lot for you help.
>> >
>> > _______________________________________________
>> > Powered by www.kitware.com
>> >
>> > Visit other Kitware open-source projects at
>> > http://www.kitware.com/opensource/opensource.html
>> >
>> > Please keep messages on-topic and check the VTK FAQ at:
>> > http://www.vtk.org/Wiki/VTK_FAQ
>> >
>> > Search the list archives at: http://markmail.org/search/?q=vtkusers
>> >
>> > Follow this link to subscribe/unsubscribe:
>> > http://public.kitware.com/mailman/listinfo/vtkusers
>> >
>> >
>> >
>> >
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the VTK FAQ at:
>> http://www.vtk.org/Wiki/VTK_FAQ
>>
>> Search the list archives at: http://markmail.org/search/?q=vtkusers
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/vtkusers
>>
> --
> Sankhesh Jhaveri *Sr. Research & Development Engineer* | Kitware
> <http://www.kitware.com/> | (518) 881-4417
>>
> --
Sankhesh Jhaveri *Sr. Research & Development Engineer* | Kitware
<http://www.kitware.com/> | (518) 881-4417
​
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20171017/bc386b7e/attachment.html>


More information about the vtkusers mailing list