【问题标题】:mayavi, vtk - how to disable all scene hot keys (native keyboard shortcuts)mayavi, vtk - 如何禁用所有场景热键(本机键盘快捷键)
【发布时间】:2018-09-14 11:26:20
【问题描述】:

我希望能够删除我的 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】:

    我从来不知道如何为 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 中,但不是致命的。

    【讨论】:

      猜你喜欢
      • 2019-01-20
      • 1970-01-01
      • 2021-11-19
      • 1970-01-01
      • 2012-11-06
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多