2016-03-04 88 views
1

我正在使用vtk for python。我顯示使用此代碼一些VTK網:同時顯示幾個vtk渲染窗口

def DisplayVTKMesh(mesh): 
    mapper = vtk.vtkPolyDataMapper() 
    mapper.SetInputData(mesh) 
    actor = vtk.vtkActor() 
    actor.SetMapper(mapper) 
    actor.GetProperty().SetInterpolationToPhong() 
    actor.GetProperty().SetAmbient(0.2) 
    actor.GetProperty().SetDiffuse(0.7) 
    actor.GetProperty().SetSpecular(0.6) 
    actor.GetProperty().SetSpecularPower(100) 
    actor.GetProperty().SetColor(0.8,0.8,1) 
    ren1 = vtk.vtkRenderer() 
    ren1.AddActor(actor) 
    ren1.SetBackground(1, 1, 1) 
    renWin = vtk.vtkRenderWindow() 
    renWin.AddRenderer(ren1) 
    renWin.SetSize(300, 300) 
    iren = vtk.vtkRenderWindowInteractor() 
    iren.SetRenderWindow(renWin) 
    style = vtk.vtkInteractorStyleTrackballCamera() 
    iren.SetInteractorStyle(style) 
    iren.Initialize() 
    iren.Start() 

我加載不同的網格,並調用上面的函數在for循環中,因爲我想爲每一個網格一個窗口。 問題是,它顯示一個卷,並等待,直到我關閉窗口顯示下一個。 如何在同一時間顯示多個窗口,而不是一次只顯示一個窗口,而必須關閉它才能顯示下一個窗口?

回答

1

我使用多處理模塊解決了這個問題,每個窗口運行一個進程。