5

我找不到任何关于如何使用 wx 在 OSX 上创建菜单栏图标的指示。我原本以为 wxTaskBarIcon 类可以,但它实际上在 Dock 上创建了一个图标。在 Windows 上,wxTaskBarIcon 创建一个 Systray 图标和相关菜单,我认为在 mac osx 上它会创建一个菜单栏图标,我猜不是。

4

4 回答 4

4

您必须设置wxTaskBarIconTypeSTATUSITEM,而不是DOCK。用于此的 Cocoa API 是NSStatusBarNSStatusItem; 这是 wxWidgets 中调用它们的代码

于 2008-09-28T14:14:00.597 回答
2

wxPython 的创建者 Robin Dunn 的这篇文章解释说 wxPython 还不支持 mac 上的菜单栏图标。他们只支持 Dock。

于 2010-06-24T20:15:31.957 回答
1

从 wxPython 2.9.2.0 开始wx.TaskBarIcon,现在将在 OSX 上创建一个菜单栏图标,只要您调用SetIcon.

于 2014-09-15T09:53:42.403 回答
1

wiki.wxpython.org 上有一个示例,它将一个图标放在 macOS 菜单栏的“状态菜单”部分(右侧)(忽略页面标题): https ://wiki.wxpython.org/Custom %20Mac%20OsX%20Dock%20Bar%20Icon

它适用于运行 python 2.7.14(使用 miniconda 安装)和 wxpython 3.0.0.0 osx-cocoa(经典)的 macOS High Sierra(10.13.3)。

同样,它适用于 python 3.6.4 和 wxpython 4.0.1 osx-cocoa (phoenix);需要小的代码更改:

  • 你必须导入 wx.adv
  • wx.TaskBarIcon 变成 wx.adv.TaskBarIcon
  • wx.IconFromBitmap 变成 wx.Icon

这也会在其他平台上生成状态/通知/任务栏类型的图标。

于 2018-03-15T18:29:44.750 回答