2012-07-20 34 views
3

最近使用wxPython時遇到了一個問題:我想灰掉整個wx.Menu,但我找不到一個方法來做到這一點。我可以禁用所有與wx.Menu相關的wx.MenuItem實例,但是我覺得它的人體工程學方面的效率低於灰色菜單本身。wxPython - 禁用整個菜單

wx.Menu類有一個名爲Enable()的方法,它接受'enable'參數,但它的唯一用途是啓用/禁用相關的wx.MenuItem而不是wx.Menu本身。其實,我甚至不確定我想要做什麼。

但是,如果您有一些解決方案,我很樂意傾聽您的解決方案。

回答

5

啓用僅用於菜單項。 EnableTop應該直觀地禁用整個菜單。查看我的舊tutorial關於中途下的菜單瞭解更多信息。以下是我做的:

self.menuBar.EnableTop(0, False) 

注意,它是從零開始的,所以零是第一個菜單,一個是第二等

+0

非常感謝你,它工作正常! 我經常檢查你的網站,但從未發現本教程。我想我應該更加感謝你從本月的網站上獲得的所有幫助:) 順便說一句,我還設法繞過索引的東西,這要感謝FindMenu提供的名稱查找。 – Morwenn 2012-07-20 13:57:37

+0

我沒有想到Find *方法,但只要您沒有任何具有相同名稱的項目,就可以工作。我很高興你喜歡這個博客。如果你想到我應該介紹的任何內容,請告訴我,我會將其添加到我的文章觀點列表中。 – 2012-07-20 14:59:15

+0

我現在沒有想到任何事情,但是如果我腦子裏想到什麼,我會毫不猶豫的。 – Morwenn 2012-07-20 15:12:34