VTK Python на Mac не ловит события клавиатуры
У меня следующий вопрос. Я собрал последний VTK под Mac Os X 10.6 и использую привязки Python. Я использую дистрибутив Python - Enthought Python Distribution (EPD). Все работает довольно хорошо, однако есть различие в поведении одной и той же программы на Mac и Linux в отношении события клавиатуры. Кажется, я упускаю очень важный момент. Часть кода выглядит следующим образом
vtkrenderer = vtk.vtkRenderer()
vtkrenderWindow = vtk.vtkRenderWindow()
vtkrenderWindow.SetSize(800, 600)
vtkrenderWindow.AddRenderer(vtkrenderer)
vtkrenderWindowInteractor = vtk.vtkRenderWindowInteractor()
vtkrenderWindowInteractor.SetRenderWindow(vtkrenderWindow)
vtkrenderWindow.Render()
vtkrenderer.ResetCamera()
vtkrenderWindowInteractor.GetRenderWindow().AddObserver('CharEvent', self.show_update)
vtkrenderWindowInteractor.Start()
Функция self.show_update
имеет следующую форму:
def show_update(self, renderer, event):
if renderer.GetKeyCode() == ' ':
self.update(renderer, event)
print 'ready'
#Do computations here
renderer.Render()
Однако пробел работает только в терминале, где я запускаю программу (используя python test_particles.py
но полностью игнорируется в окне какао.
В Linux все работает как положено (клавиатуры работают нормально).
Любая помощь приветствуется.
1 ответ
Попробуйте запустить программу с pythonw
:
pythonw test_particles.py
Это работало для меня под OS X 10.10.2 с использованием Anaconda Scientific Python Distribution.