我找不到任何关于如何使用wx在OSX上创建菜单栏图标的指针。我原本以为wxTaskBarIcon类会这样做,但实际上它在Dock上创建了一个图标。在Windows上,wxTaskBarIcon创建一个Systray图标和相关的菜单,我认为在mac osx上它会创建一个菜单栏图标,我猜不会。
答案 0 :(得分:4)
您必须将wxTaskBarIconType
设置为STATUSITEM
,而不是DOCK
。针对此的Cocoa API为NSStatusBar
和NSStatusItem
; here's the code in wxWidgets that calls to them
答案 1 :(得分:2)
This post解释说,wxPython还不支持Mac上的菜单栏图标。他们只支持Dock。
答案 2 :(得分:1)
从wxPython 2.9.2.0开始wx.TaskBarIcon
现在将在OSX上创建一个菜单栏图标,只要你拨打SetIcon
。
答案 3 :(得分:0)
wiki.wxpython.org上有一个示例,它在macOS菜单栏的“状态菜单”部分(右侧)放置一个图标(忽略页面标题): https://wiki.wxpython.org/Custom%20Mac%20OsX%20Dock%20Bar%20Icon
对于我来说,运行python 2.7.14(使用miniconda安装)的macOS High Sierra(10.13.3)和wxpython 3.0.0.0 osx-cocoa(经典)。
同样,它适用于python 3.6.4和wxpython 4.0.1 osx-cocoa(phoenix); 需要进行少量代码更改:
这也会在其他平台上生成状态/通知/任务栏类型图标。