Frage

Ich kann keine Hinweise finden, wie ein menubar Symbol auf OSX mit wx zu erstellen. Ich dachte ursprünglich, dass die wxTaskBarIcon Klasse tun würde, aber es tatsächlich schafft ein Symbol auf dem Dock. Unter Windows erstellt wxTaskBarIcon ein Systray-Symbol und dazugehöriges Menü und ich würde denken, dass auf Mac OS X eine menubar Symbol schaffen würde, ich denke nicht.

War es hilfreich?

Lösung

Sie haben wxTaskBarIconType einstellen STATUSITEM, nicht DOCK. Der Cocoa-APIs hierfür ist NSStatusBar und NSStatusItem; hier ist der Code in wxWidgets, die sie nennt.

Andere Tipps

Dieser Beitrag von Robin Dunn der Schöpfer von wxPython, erklärt, dass wxPython nicht menubar Symbole auf dem mac noch nicht unterstützt. Sie unterstützen nur das Dock.

Wie von wxPython 2.9.2.0 wx.TaskBarIcon ein menubar Symbol erstellen nun stattdessen auf OSX, so lange, wie Sie SetIcon nennen.

Es ist ein Beispiel auf wiki.wxpython.org, das ein Symbol im „Statusmenü“ (rechte Seite) setzt die macOS Menüleiste (den Seitentitel ignorieren): https://wiki.wxpython.org/Custom%20Mac%20OsX% 20Dock% 20Bar% 20Icon

Es funktioniert für mich mit macOS High Sierra (10.13.3) Laufe Python 2.7.14 (installiert mit miniconda) mit wxpython 3.0.0.0 osx-Kakao (klassisch).

In ähnlicher Weise funktioniert es mit Python 3.6.4 und 4.0.1 wxpython osx-Kakao (phoenix); kleinere Änderungen am Code erforderlich:

  • Sie müssen importieren wx.adv
  • wx.TaskBarIcon wird wx.adv.TaskBarIcon
  • wx.IconFromBitmap wird wx.Icon

Dies erzeugt ein Status / Anzeige / Taskleiste-Typ-Symbol auf anderen Plattformen als auch.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top