(这可能是一个简单的问题。但是我不知道解决方案。)
我使用PyQt5和VTK库制作了一个简单的多STL文件查看器。
有渲染小部件(QVTKRenderWindowInteractor
)和重置按钮(QPushButton
)。
如果单击“重置”按钮,则参与者的颜色(所有加载的STL数据)将变为白色。
以下代码是重置按钮单击功能 (效果很好):
def _resetBtnClicked(self):
# reset actor colors
actorCollection = self.ren.GetActors()
actorCollection.InitTraversal()
cactor = actorCollection.GetNextActor() # first actor
while cactor != actorCollection.GetLastActor():
cactor.GetProperty().SetColor(1, 1, 1)
cactor = actorCollection.GetNextActor()
cactor.GetProperty().SetColor(1, 1, 1) # last actor
self.ren是vtk.vtkRenderer()
,因此我在扎着绳子时使用.GetNextActor()
处理ACTOR COLOR。
但是,我想将while循环更改为一个简单的代码,如果可能的话,像self.ren.GetActors().GetProperty().SetColor(1, 1, 1)
(这个'self.ren.GetActors().GetProperty().SetColor(1, 1, 1)
'不存在)。
如果有几种功能可以代替环行使用,请告诉我。