在Python中创建Ubuntu系统托盘

12 投票
3 回答
7309 浏览
提问于 2025-04-15 20:09

我想知道怎么把一个程序放到系统托盘里(我觉得在Linux里不是这么叫的)使用Python的TKINTER在UBUNTU 9.04上。

3 个回答

3

这里提到了一种叫做 系统托盘协议 的东西,我觉得gnome和kde这两个桌面环境都在用这个协议。你可以尝试用python直接通过ctype来调用X11的方法。不过,我建议你使用GTK的解决方案。

7

你需要使用GTK这个工具。需要注意的是,Ubuntu 10.04及以上版本有一个新的、不兼容的系统托盘,叫做AppIndicator。在这里有一个Python的示例:https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationIndicators#Python%20version

8

我觉得你不能仅仅用Tkinter来实现这个功能。你需要使用gtk库。

这里有个例子,来自一个Ubuntu论坛: http://ubuntuforums.org/showpost.php?s=bc369fc9343ae728577f1bdcd292caca&p=1053546&postcount=3

这是一个结合gtk和Tk的例子(用Perl写的)。Gtk负责托盘图标,其他部分则使用Tk: http://www.perlmonks.org/?node_id=626617

撰写回答