我希望能够删除mayavi场景中的所有自动键盘绑定。有些键盘事件冻结了我的用户界面,如果意外按下,可能会使用户感到困惑或无法使用。
我的第一次尝试是在traitsui类中设置scene_class=Scene
而不是scene_class=MayaviScene
:
view = View(Item('scene', editor = SceneEditor(scene_class=Scene),
height=100, width=500, show_label=False),
resizable=True,
)
但这只会删除场景中的Mayavi标题。
在http://mayavi.sourceforge.net/docs/guide/guide.pdf
找到的手册涵盖了许多关键的绑定事件,但没有提供关于停用它们的消息。
非常感谢任何帮助。
答案 0 :(得分:0)
我从来没有想过如何为Mayavi设置一个EventFilter,但是冻结的原因显然是一个过时的库...虽然不确定是哪个库。
每当按下p
(用于选择器)时,整个程序就会冻结(从此以后,相机不会移动或更改数字),并显示以下错误:
traits.trait_errors.TraitError: The 'coordinate' trait of a DefaultPickHandler instance must be an array of float64 values with shape (3,) or None, but a value of array([ 20.602077 , 7.36959457, -21.24352776]) <type 'numpy.ndarray'> was specified.
我按如下所示(macOS)重新安装了我的环境,该程序不再冻结:
conda create --no-default-packages -n FOO python=2.7
conda install vtk=6.3
conda install mayavi
应注意,错误消息仍以bash显示,但不是致命的。