The following example is not working properly:
import sys
import PySide2
from PySide2.QtWidgets import QApplication
from vtkmodules.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor
from vtkmodules.vtkFiltersSources import vtkConeSource
from vtkmodules.vtkRenderingCore import vtkActor, vtkPolyDataMapper, vtkRenderer
app = QApplication(['QVTKRenderWindowInteractor'])
widget = QVTKRenderWindowInteractor()
widget.Initialize()
widget.Start()
ren = vtkRenderer()
widget.GetRenderWindow().AddRenderer(ren)
cone = vtkConeSource()
cone.SetResolution(8)
coneMapper = vtkPolyDataMapper()
coneMapper.SetInputConnection(cone.GetOutputPort())
coneActor = vtkActor()
coneActor.SetMapper(coneMapper)
ren.AddActor(coneActor)
widget.show()
app.exec_()
It fails with the following message:
Generic Warning: In /build/vtk/src/VTK-8.2.0/Rendering/Core/vtkRenderWindow.cxx, line 35
Error: no override found for 'vtkRenderWindow'.
Traceback (most recent call last):
File "main.py", line 10, in <module>
widget = QVTKRenderWindowInteractor()
File "/usr/lib/python3.8/site-packages/vtkmodules/qt/QVTKRenderWindowInteractor.py", line 262, in __init__
self._RenderWindow = vtkRenderWindow()
NotImplementedError: no concrete implementation exists for this class
Any help why this is happening? This is the example given in the distributed QVTKRendererWindowInteractor.py file on my Arch Linux vtk installation (version 8.2.0).