我想在 Python 版本中禁用一些 VTK 热键。虽然这里有 C++(也许还有 js)的答案,但它似乎不适用于 Python 版本。
我尝试在我的 InterfactionStyle 或 QVTKRenderWindowInteractor 上重载 OnKeyPress,但它不起作用。例如,我想禁用键“w”和“s”上的线框/曲面视图开关。
我想在 Python 版本中禁用一些 VTK 热键。虽然这里有 C++(也许还有 js)的答案,但它似乎不适用于 Python 版本。
我尝试在我的 InterfactionStyle 或 QVTKRenderWindowInteractor 上重载 OnKeyPress,但它不起作用。例如,我想禁用键“w”和“s”上的线框/曲面视图开关。
它在vtkInteractorStyle::OnChar中定义。所以尝试重载这个方法,像这样:
class MyInteractorStyle(vtk.vtkInteractorStyleTrackballCamera):
def __init__(self, parent = None):
self.AddObserver('CharEvent', self.OnChar)
def OnChar(self, obj, event):
if obj.GetInteractor().GetKeyCode() == "w":
return
super(MyInteractorStyle, obj).OnChar()