问题描述
使用paraview.simple渲染的python脚本的简单示例是
from paraview.simple import *
sphere = Sphere(ThetaResolution=16,PhiResolution=32)
shrink = Shrink(sphere)
Show(shrink)
Render()
Interact()
我可以以类似于添加vtk渲染器的方式将此渲染器添加到PyQt5应用程序吗?在vtk中,这是通过行实现的
from vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor
此交互器被添加为小部件。我可以吗将paraview简单渲染器或交互器添加为小部件?
解决方法
您可以在初始化QVTKRenderWindowInteractor
时提供渲染窗口和交互器,即
import paraview.simple as pvsimple
from vtkmodules.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor
from PyQt5 import QtWidgets
app = QtWidgets.QApplication([])
# setup render widget
render_view = pvsimple.CreateRenderView()
render_widget = QVTKRenderWindowInteractor(rw=render_view.GetRenderWindow(),iren=render_view.GetInteractor())
render_widget.Initialize()
# add paraview simple sources/filters
sphere = pvsimple.Sphere(ThetaResolution=16,PhiResolution=32)
shrink = pvsimple.Shrink(sphere)
pvsimple.Show(shrink,render_view)
# show widget
render_widget.show()
app.exec()