Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在其他平台上实现系统托盘应用程序?_Python_Cross Platform_Operating System_Wxpython_System Tray - Fatal编程技术网

Python 如何在其他平台上实现系统托盘应用程序?

Python 如何在其他平台上实现系统托盘应用程序?,python,cross-platform,operating-system,wxpython,system-tray,Python,Cross Platform,Operating System,Wxpython,System Tray,Windows有一个“系统托盘”,里面装着时钟和总是运行的服务,如MSN、Steam等 我想开发一个wxPython托盘应用程序,但我想知道它能在多大程度上移植到其他平台。每个平台上的托盘等效物是什么,以及支持Windows、OSX和Linux(尤其是外壳最友好的)需要多少手动工作。在Linux上,这取决于您的编程环境,有些窗口管理器甚至没有托盘区域。尽管如此,如果你使用Gtk(wx真的是Gtk),它就是你的朋友 下面是一些例子(没有检查它们是否真的有效,但应该向您显示路径) 对于wx我找到了一

Windows有一个“系统托盘”,里面装着时钟和总是运行的服务,如MSN、Steam等


我想开发一个wxPython托盘应用程序,但我想知道它能在多大程度上移植到其他平台。每个平台上的托盘等效物是什么,以及支持Windows、OSX和Linux(尤其是外壳最友好的)需要多少手动工作。

在Linux上,这取决于您的编程环境,有些窗口管理器甚至没有托盘区域。尽管如此,如果你使用Gtk(wx真的是Gtk),它就是你的朋友

下面是一些例子(没有检查它们是否真的有效,但应该向您显示路径)


对于
wx
我找到了一些示例代码

对于许多Linux桌面系统(Gnome、KDE等),都实现了Freedesktop。如果任何其他解决方案失败,您可以尝试使用它。

wx是一个跨平台GUI和工具库,支持Win32、Mac OS X、GTK+、X11、Motif、WinCE等。如果您使用它的类,那么您的应用程序应该可以在所有这些平台上运行。
要查看系统托盘,请查看wxTaskBarIcon()。

在OS X下,您有状态菜单栏-最右边的项目通常是与状态相关的内容(如电池状态、WiFi连接等)

尝试搜索和。将应用程序转换为具有NSStatusBar菜单且不显示在Dock中的应用程序几乎是微不足道的。有关于如何操作的详细信息。

使用Qt:


这将在所有运行Qt并支持此类图标的平台上显示systray图标。但是,当systray功能不受支持时,您需要想出一个策略。

我担心的是,MSN出现在dock中,并通过跳转进行通知。我想这也是我应该如何实现我的,因为它主要是一个通知服务。