(Это может быть простой вопрос. Однако я не знаю решения.)
Я создал простую программу просмотра файлов multi-STL с использованием библиотек PyQt5 и VTK.
Существует виджет рендеринга (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()
, и я использовал пока roop для работы с ЦВЕТАМИ ACTOR, используя .GetNextActor()
, последовательно.
Однако я хочу изменить цикл while на простой код, например, self.ren.GetActors().GetProperty().SetColor(1, 1, 1)
, если это возможно (этого self.ren.GetActors().GetProperty().SetColor(1, 1, 1)
не существует).
Если есть несколько функций, которые я могу использовать вместо рупа, пожалуйста, дайте мне знать.