【问题标题】:VTK python on mac does not catch the keyboard eventsmac上的VTK python没有捕捉到键盘事件
【发布时间】:2012-10-30 00:10:07
【问题描述】:

我有以下问题。我已经在 Mac Os X 10.6 下编译了最新的 VTK,并且我正在使用 Python 绑定。我使用的 Python 发行版是 Enthought Python 发行版 (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,但在 Cocoa 窗口中完全忽略。

在 Linux 中,一切都按预期工作(键盘工作正常)。

感谢任何帮助。

【问题讨论】:

    标签: python macos vtk


    【解决方案1】:

    尝试使用pythonw启动程序:

    pythonw test_particles.py
    

    这适用于我在 OS X 10.10.2 下使用 Anaconda Scientific Python Distribution。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-13
      • 2012-10-07
      • 1970-01-01
      • 2017-04-17
      • 2012-09-30
      • 2014-07-27
      相关资源
      最近更新 更多