我可以在我的PyQt5应用程序中添加Paraview的渲染器或交互器吗?

问题描述

使用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()

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...