wxPython:工具栏菜单关闭事件

时间:2013-11-06 19:54:33

标签: macos python-2.7 wxpython

我正在创建一个带有wxPython 2.9.5的python应用程序,它带有一个带菜单的系统托盘图标。隐藏/关闭菜单时,我希望收到一个事件。在mac上,不会触发wx.EVT_TASKBAR_ *事件。我可以绑定什么事件?

我问我想要在Mac上的黑白图标之间切换。

https://gist.github.com/thomaschaaf/49e64bf2aa7c3078ede3

更新1: 将绑定附加到应用程序会使事件在mac上触发。以下是我想要的示例。

https://gist.github.com/thomaschaaf/7344891

1 个答案:

答案 0 :(得分:1)

我假设你正常创建弹出菜单?像这样:

menu = wx.Menu()
menu.Append(self.TBMENU_RESTORE, "Open Program")
menu.Append(self.TBMENU_CHANGE, "Show all the Items")
menu.AppendSeparator()
menu.Append(self.TBMENU_CLOSE,   "Exit Program")

通常你也会看到

menu.Destroy()

您应该在此之后添加一个方法调用,以便您的代码最终看起来像这样:

menu = wx.Menu()
menu.Append(self.TBMENU_RESTORE, "Open Program")
menu.Append(self.TBMENU_CHANGE, "Show all the Items")
menu.AppendSeparator()
menu.Append(self.TBMENU_CLOSE,   "Exit Program")
menu.Destroy()
self.onMenuDestroy()

然后你只需要在onMenuDestroy方法中添加任何需要做的事情。