Issue with QVTKRenderWindowInteractor.py in vtk9.0.0 vtk9.0.1
I have a similar issue as Eric Larson reported in #17867 moving from vtk8 to vtk9. I opened a new thread because I do not know how to add as a comment to #17867 This weekend I installed the 9.0.1 and it did not work. May basic test is almost identical to the one given by Eric. Everything works well with vtk8 but vtk9.0.0/1 hangs during Initialize(). As far as I know up to now, the QVTKRenderWindowInteractor.py is a basic class for writing a vtk application embedded in qt. So for my vtk framework it would be utmost important. Currently, it,s not possible for me to move to vtk9 Actually, I do not understand Eric's comment regarding obsolete. I've seen no code example of vtk with qt via python without QVTKRenderWindowInteractor.py class. I would be grateful for any similar small qt Example replacing this class. For my opinion, this class is inside the SW hence it may be tested.
Here is the code ... as said similar to the one of Eric
QVTKRenderWindowInteractor_v01.py
Although I'm quite new to current vtk and having almost no knowledge of the underlying base SW, in the meanwhile I dived a little into the source code distribution. Codewise there appears to be practically no difference. However, the distribution seams to be a little reorganized from 8.2.0 to 9.0.0/1. While the 8.2.0 contains "vtkGenericRenderWindowInteractor" inside the Rendering/Core/, in the 9.0.0/1 it is moved to Rendering/UI/. I am afraid that this may affect the Initialize procedure, once via FiltersCore and once via RenderingCore? This is only a rough guess. I would be keen to test a 9.0.x dist having the setup for "vtkGenericRenderWindowInteractor" similar to 8.2.0, namely the "vtkGenericRenderWindowInteractor" moved to Rendering/Core/, but, since I'm novice to the base SW, cmake side-effects, etc. some support would be needed to hack a respective dist. I would be grateful for any comments or assistance.
Recently I've found something which may be of significance.
The vtk8.2.0 gives vtkRenderingOpenGL2Python
type(self._RenderWindow) <class 'vtkRenderingOpenGL2Python.vtkXOpenGLRenderWindow'>
whereas the vtk9.0.1 vtkRenderingOpenGL2
type(self._RenderWindow) <class 'vtkmodules.vtkRenderingOpenGL2.vtkXOpenGLRenderWindow'>
digging further it can be found
../VTK/VTK-8.2.0_build/lib/libvtkRenderingOpenGL2Python37D-8.2.so ../VTK/VTK-8.2.0_build/lib/python3.7/site-packages/vtkmodules/vtkRenderingOpenGL2Python.so ../VTK/VTK-8.2.0_build/lib/libvtkRenderingOpenGL2Python37D-8.2.so.1 ../VTK/VTK-8.2.0_build/Wrapping/Python/vtkRenderingOpenGL2Python.Debug.args ../VTK/VTK-8.2.0_build/Wrapping/Python/vtkRenderingOpenGL2PythonInit.cxx ../VTK/VTK-8.2.0_build/Wrapping/Python/vtkRenderingOpenGL2PythonInitImpl.cxx ../VTK/VTK-8.2.0_build/Wrapping/Python/CMakeFiles/vtkRenderingOpenGL2PythonD.dir ../VTK/VTK-8.2.0_build/Wrapping/Python/CMakeFiles/vtkRenderingOpenGL2PythonD.dir/vtkRenderingOpenGL2PythonInitImpl.cxx.o ../VTK/VTK-8.2.0_build/Wrapping/Python/CMakeFiles/vtkRenderingOpenGL2Python.dir ../VTK/VTK-8.2.0_build/Wrapping/Python/CMakeFiles/vtkRenderingOpenGL2Python.dir/vtkRenderingOpenGL2PythonInit.cxx.o ../VTK/VTK-8.2.0_build/Wrapping/Python/vtkRenderingOpenGL2PythonInit.data
and
VTK-9.0.1_build/CMakeFiles/vtkRenderingOpenGL2Python.dir VTK-9.0.1_build/CMakeFiles/vtkRenderingOpenGL2Python.dir/CMakeFiles/vtkRenderingOpenGL2Python VTK-9.0.1_build/CMakeFiles/vtkRenderingOpenGL2Python.dir/CMakeFiles/vtkRenderingOpenGL2PythonPython VTK-9.0.1_build/CMakeFiles/vtkRenderingOpenGL2Python.dir/CMakeFiles/vtkRenderingOpenGL2PythonPython/vtkRenderingOpenGL2PythonInitImpl.cxx.o VTK-9.0.1_build/CMakeFiles/vtkRenderingOpenGL2Python.dir/CMakeFiles/vtkRenderingOpenGL2PythonPython/vtkRenderingOpenGL2PythonInit.cxx.o VTK-9.0.1_build/CMakeFiles/vtkRenderingOpenGL2Python VTK-9.0.1_build/CMakeFiles/vtkRenderingOpenGL2PythonPython VTK-9.0.1_build/CMakeFiles/vtkRenderingOpenGL2PythonPython/vtkRenderingOpenGL2PythonInit.cxx VTK-9.0.1_build/CMakeFiles/vtkRenderingOpenGL2PythonPython/vtkRenderingOpenGL2PythonInitImpl.cxx VTK-9.0.1_build/CMakeFiles/vtkRenderingOpenGL2PythonPython/vtkRenderingOpenGL2Python-init.data
the one may find in the installation, after make install, for 8.2.0
../VTK/usr/local/lib64/libvtkRenderingOpenGL2Python37D-8.2.so ../VTK/usr/local/lib64/python3.7/site-packages/vtkmodules/vtkRenderingOpenGL2Python.so ../VTK/usr/local/lib64/libvtkRenderingOpenGL2Python37D-8.2.so.1
and nothing for 9.0.x.
I assume that there is something incomplete during installation of of 9.0.x.
May be this gives some further idea why the QVTK... with python does not work.