I hope somebody can help me. I'm very new to Python and wxWindows. I have
been using VTK for a while. I expect the following code to display a window
that has 2 buttons and a VTK widget. Instead, it opens up the VTK stuff as
a separate window which renders correctly once, but never redraws even when
I click on the "Render" button. Please let me know what am I doing wrong or
let me know if it behaves differently for you. I'm running IRIX 6.5 on an
SGI Octane R10000 896MB and using Python 1.5.2, wxPython 2.2.2, and VTK 3.1.
#!/usr/bin/env python
from wxPython.wx import *
from wxPython.lib.vtk import *
from libVTKCommonPython import *
from libVTKGraphicsPython import *def vtktest(renWin):
ren = vtkRenderer()
renWin.AddRenderer(ren)
ren.SetBackground(0,0,1)
cube1 = vtkCubeSource()
cubeMapper = vtkPolyDataMapper()
cubeMapper.SetInput(cube1.GetOutput())
cubeActor = vtkActor()
cubeActor.SetMapper(cubeMapper)
cubeActor.GetProperty().SetColor(1, 0, 0)
ren.AddActor(cubeActor)
renWin.Render()class MyMainFrame(wxFrame):
def __init__(self,parent,ID,title):
wxFrame.__init__(self,parent,ID,title,
wxDefaultPosition,wxSize(400,400))
wxButton(self, 1001, "Render", wxPoint(10, 10))
wxButton(self, 1002, "Exit", wxPoint(200, 10))
self.renWin = wxVTKRenderWindow(self, 30, wxPoint(10, 100),
wxSize(100, 100))
vtktest(self.renWin.GetRenderWindow())
EVT_BUTTON(self, 1001, self.OnRender)
EVT_BUTTON(self, 1002, self.OnExit)
self.renWin.GetRenderWindow().Render()
def OnRender(self, event):
print "rendering"
self.renWin.GetRenderWindow().Render()
def OnExit(self, event):
self.Close(true)
ยทยทยท
class myApp(wxApp):
def OnInit(self):
self.frame = MyMainFrame(NULL,-1,"VTK Test")
self.frame.Show(true)
self.SetTopWindow(self.frame)
return trueapplication = myApp(0)
application.MainLoop()
_______________________________________________
wxPython-users mailing list
wxPython-users@lists.sourceforge.net
http://lists.sourceforge.net/mailman/listinfo/wxpython-users