我希望能够删除所有的自动键盘绑定在我的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上找到,它详细介绍了许多关键绑定事件,但没有提供关于禁用这些事件的任何信息。
任何帮助都将不胜感激。
发布于 2018-09-05 14:50:07
我从来不知道如何为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中,但不是致命的。
https://stackoverflow.com/questions/49658818
复制相似问题