如何通过代码在Python中移除Mayavi工具栏
我有几个Mayavi图表,我想把它们放在一个窗口里(就像文档里说的那样)。不过,如果能把所有图表上的工具栏去掉,那就更好了。虽然我可以右键点击每个工具栏让它们消失,但我想通过代码来让它们消失。像scene.hide_toolbar()
这样的命令就很理想。我在TraitsUI这个包里找了一下,但没找到解决办法……有没有人知道怎么让它消失呢?
1 个回答
2
你可以使用 Handler
来修改用户界面,下面的代码适用于 ETS_TOOLKIT=qt4。把 DisableToolbarHandler
这个类添加到代码 multiple_mlab_scene_models.py
中,然后通过 m.edit_traits(handler=DisableToolbarHandler())
来显示用户界面。
class DisableToolbarHandler(Handler):
def position(self, info):
for name in ["scene1", "scene2"]:
editor = info.ui.get_editors(name)[0]
editor._scene._tool_bar.setVisible(False)
m = MyDialog()
m.edit_traits(handler=DisableToolbarHandler())
窗口显示如下: