2013-03-16 40 views
1

我有幾個Mayavi圖,我將它們合併到一個窗口中(沿着documentation的線),如果我可以擺脫所有工具欄,將會好得多其中。儘管可以右鍵單擊每個工具欄以使它們消失,但是我想將它們編碼爲消失。像scene.hide_toolbar()這樣的命令將是理想的。我已經在TraitsUI包中找到了一些無用的信息......任何人都知道如何讓它消失?如何刪除python中的Mayavi工具欄使用代碼

回答

2

您可以使用Handler來修改UI,以下代碼與ETS_TOOLKIT = qt4一起使用。將DisableToolbarHandler類添加到代碼multiple_mlab_scene_models.py,並通過m.edit_traits(handler=DisableToolbarHandler())顯示UI。

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()) 

的窗口顯示爲:

enter image description here

+0

這工作就像一個魅力!任何想法如何刪除單個圖形的工具欄(例如,使用mlab.figure()創建的圖形)? – Eric 2013-03-18 17:58:00