1

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

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

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

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

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

4

1 回答 1

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 方法中添加任何需要做的事情。

于 2013-11-06T21:32:10.767 回答