python - 如何在 Python-VTK 中禁用 VTK 的热键
问题描述
我想在 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()
推荐阅读
- ansible - 为什么 include_role 一次处理一个主机?
- macos - 优化 NSImageView 和 NSView 滚动性能的正确方法是什么
- java - 设置 StringBuilder 对象的最佳方法是什么?
- join - 如何使用 Mongocxx 将集合加入文档
- python - 如何保存最佳验证分数结果,即保存 6 个拆分中的第 5 个拆分
- python - 翻译文本文件中的变量
- mysql - 如何选择带有 X 字符的 MySql 列中的数据?
- pentaho - Pentaho 7.1 Job 在我第二次运行后不再运行
- docker - 无法在 Docker 容器中启动 Spark 驱动程序
- javascript - 在 ios 键盘上使用 Detox 单击“搜索”和“输入”按钮