他のプラットフォームでシステムトレイアプリケーションをどのように実現しますか?

StackOverflow https://stackoverflow.com/questions/419334

質問

Windowsには「システムトレイ」があります。時計と、MSN、Steamなどの常時実行サービスを収容します。

wxPythonトレイアプリケーションを開発したいのですが、これが他のプラットフォームにどれだけうまく移植できるのか疑問に思っています。各プラットフォームで同等のトレイと、Windows、OSX、Linuxをサポートするために必要な手動作業の量(特にシェルは最も使いやすいでしょう)。

役に立ちましたか?

解決

wxは、Win32、Mac OS X、GTK +、X11、Motif、WinCEなどをサポートするクロスプラットフォームのGUIおよびツールライブラリです。クラスを使用する場合、アプリケーションはこれらすべてのプラットフォームで動作するはずです。 システムトレイについては、wxTaskBarIcon( http://docs.wxwidgets.org/stable/wx_wxtaskbaricon。 html#wxtaskbaricon )。

他のヒント

OS Xにはステータスメニューバーがあります-右端の項目は多くの場合、ステータスに関連するものです(バッテリーステータス、WiFi接続など)。

NSStatusBar および NSMenuExtra 。アプリケーションをNSStatusBarメニューを持ち、Dockに表示されないものに変えるのはほとんど簡単です。 チュートリアル その方法について

多くのLinuxデスクトップシステム(Gnome、KDEなど)では、Freedesktopの SysTrayプロトコルが実装されています。他のソリューションが失敗した場合、それを試すことができます。

Linuxでは、実際に依存します-そこには異なるプログラミング環境があり、一部のウィンドウマネージャーにはトレイ領域さえありません。また、Gtkを使用する場合(wxが実際にGtkである場合)、 gtk.StatusIcon はあなたの友達です。

ここはその例です(チェックされていません)実際に機能するが、パスが表示される場合)。

wx の場合、こちらのサンプルコードを見つけました。

Qtを使用: Qt Systrayの例

Qtが実行され、そのようなアイコンをサポートするすべてのプラットフォームでシステムトレイアイコンが表示されます。ただし、システムトレイ機能がサポートされていない場合は、戦略を立てる必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top