WX를 사용하여 Mac OSX에서 Menubar 아이콘을 설정하는 방법
문제
WX를 사용하여 OSX에서 Menubar 아이콘을 만드는 방법에 대한 포인터를 찾을 수 없었습니다. 나는 원래 Wxtaskbaricon 클래스가 할 것이라고 생각했지만 실제로 도크에 아이콘을 만듭니다. Windows에서 Wxtaskbaricon은 Systray 아이콘과 관련 메뉴를 생성하며 Mac OSX에서 Menubar 아이콘을 생성 할 것이라고 생각합니다.
해결책
당신은 설정해야합니다 wxTaskBarIconType
에게 STATUSITEM
, 아니다 DOCK
. 이것에 대한 코코아 apis NSStatusBar
그리고 NSStatusItem
; 다음은 wxwidgets의 코드입니다..
다른 팁
이 게시물 Wxpython의 제작자 인 Robin Dunn은 Wxpython이 Mac에서 메뉴 바 아이콘을 지원하지 않는다고 설명합니다. 그들은 도크 만지지합니다.
WXPYTHON 2.9.2.0에서 wx.TaskBarIcon
당신이 호출하는 한, 대신 OSX에서 menubar 아이콘을 만들 것입니다. SetIcon
.
wiki.wxpython.org에는 MacOS 메뉴 표시 줄 (페이지 제목을 무시)의 "상태 메뉴"섹션 (오른쪽)에 아이콘을 넣는 예가 있습니다.https://wiki.wxpython.org/custom%20Mac%20OSX%20Dock%20Bar%20ICON
그것은 MacOS High Sierra (10.13.3)가 WXPYTHON 3.0.0.0 OSX-COCOA (Classic)와 함께 Python 2.7.14 (Miniconda를 사용하여 설치)를 실행하는 것과 함께 일합니다.
마찬가지로, Python 3.6.4 및 Wxpython 4.0.1 OSX-Cocoa (Phoenix)에서 작동합니다. 작은 코드 변경 필요 :
- wx.adv를 가져와야합니다
- WX.TASKBARICON은 WX.ADV.TASKBARICON이됩니다
- wx.iconfrombitmap은 wx.icon이됩니다
이것은 다른 플랫폼에서도 상태/알림/작업 표시 줄 유형 아이콘을 생성합니다.