mayavi,vtk - 如何禁用所有场景热键(本机键盘快捷键)

问题描述 投票:1回答:1

我希望能够删除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上找到的手册涵盖了许多关键的绑定事件,但没有提供关于停用它们的消息。

任何帮助将不胜感激。

python-2.7 vtk hotkeys mlab mayavi
1个回答
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显示,但是是非致命的。

© www.soinside.com 2019 - 2024. All rights reserved.