【问题标题】:wxPython - Disable a whole menuwxPython - 禁用整个菜单
【发布时间】:2012-07-19 13:31:10
【问题描述】:

我最近在使用 wxPython 时遇到了一个问题:我想将整个 wx.Menu 变灰,但我找不到办法。我可以禁用所有与 wx.Menu 相关的 wx.MenuItem 实例,但我发现从人体工程学的角度讲,它的效率不如将菜单本身变灰。

wx.Menu 类有一个名为 Enable() 的方法,它接受“启用”参数,但它的唯一用途是启用/禁用相关的 wx.MenuItem,而不是 wx.Menu 本身。其实,我什至不确定自己想要的能不能做到。

不过,如果您有一些解决方案,我很乐意听取您的意见。

【问题讨论】:

    标签: python wxpython wxwidgets


    【解决方案1】:

    启用仅适用于菜单项。 EnableTop 应该反直觉地禁用整个菜单。有关更多信息,请在菜单中查看我的旧 tutorial。我是这样做的:

    self.menuBar.EnableTop(0, False)
    

    注意它是从零开始的,所以零是第一个菜单,一个是第二个,等等。

    【讨论】:

    • 非常感谢,它工作正常!我经常查看您的网站,但从未找到此教程。我想我应该更加感谢您本月从您的网站获得的所有帮助 :) 顺便说一句,由于FindMenu 提供的名称查找,我还设法绕过了索引内容。
    • 我没有考虑 Find* 方法,但只要您没有任何具有相同名称的项目,它就可以工作。我很高兴你喜欢这个博客。如果您想到我应该涵盖的任何内容,请告诉我,我会将其添加到我的文章创意列表中。
    • 我现在什么都想不出来,但如果我想到了什么,我会毫不犹豫。
    • 这是我正在寻找的东西,但我发现它并没有使菜单本身变灰,它只是使该菜单上的所有菜单项变灰。总比没有好,但不是我正在寻找的视觉效果 - 因为在它发生的时候,用户没有看到任何事情发生!稍后他们发现所有的菜单项都是灰色的......
    • 我刚刚发现菜单在 Windows 上是灰色的,但在 OSX 上不是。该死!
    猜你喜欢
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多