Windows具有“系统托盘”。它包含时钟和多种服务,如MSN,Steam等。

我想开发一个wxPython托盘应用程序,但我想知道这将如何移植到其他平台。每个平台上的托盘等价物是多少,以及支持Windows,OSX和Linux需要多少手动工作(特别是哪些shell最友好)。

有帮助吗?

解决方案

wx是一个跨平台的GUI和工具库,支持Win32,Mac OS X,GTK +,X11,Motif,WinCE等。如果您使用它的类,那么您的应用程序应该适用于所有这些平台。 有关系统托盘,请查看wxTaskBarIcon( http://docs.wxwidgets.org/stable/wx_wxtaskbaricon。 HTML#wxtaskbaricon )。

其他提示

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

尝试搜索 NSStatusBar NSMenuExtra 。将应用程序转换为具有NSStatusBar菜单并且不会出现在Dock中的应用程序几乎是微不足道的。有教程 周围如何做。

对于许多Linux桌面系统(Gnome,KDE等),Freedesktop的 SysTray协议已实施。如果任何其他解决方案失败,您可以尝试。

在Linux上它真的取决于你 - 那里有不同的编程环境,有些窗口管理器甚至没有托盘区域。 Altho,如果你使用Gtk(并且wx真的是Gtk),那么 gtk.StatusIcon 是你的朋友。

这里是一些例子(尚未检查)如果他们真的有效,但应该告诉你路径。)

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

使用Qt: Qt Systray示例

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top