gpt4 book ai didi

python - 如何将系统托盘添加到python脚本中?

转载 作者:行者123 更新时间:2023-12-01 08:12:51 24 4
gpt4 key购买 nike

我想将系统托盘添加到现有的基于 python 的项目中:https://github.com/piejanssens/premiumizer

我到底需要怎样做呢?我对 python 完全陌生,这是我第一次使用它,只是因为我想向现有脚本添加一些功能。

我想要实现的是,当脚本运行时,应该有一个系统托盘图标,打开 http://localhost:5000如果双击它。如果右键单击,应该有一个退出/退出选项。

我进行了一些研究,我认为我可以使用这两个脚本之一来实现它 https://github.com/moses-palmer/pystray或与 https://github.com/Infinidat/infi.systray (我还读到应该使用 infi.systray,因为它不依赖于 pywin32,因为它使用 ctypes 库,因为该库是标准 Python 库的一部分)。

所以我尝试将此代码添加到 premiumizer.py 文件中进行测试:

from infi.systray import SysTrayIcon
def say_hello(systray):
print "Hello, World!"
menu_options = (("Say Hello", None, say_hello),)
systray = SysTrayIcon("icon.ico", "Example tray icon", menu_options)
systray.start()

但现在控制台会立即自行关闭。我如何检查出了什么问题?错误日志是否保存在某处?

我需要做什么才能让它发挥作用?或者对于像我这样“愚蠢”的人来说有更简单的方法吗?

最佳答案

欢迎来到Python的世界!

让我假设您将发布的脚本复制到 python 文件中并运行该文件,对吗?如果是这样,问题是一旦执行脚本,程序就会退出,托盘图标也会随之退出。

通过在命令窗口中运行 python 或(如果安装了 ipython)来启动交互式控制台并粘贴代码。您会看到托盘图标出现并保持不变。关闭控制台后它就会消失。(注:上面的代码使用了python 2.x版本的print,没有使用(),在python 3.x中会导致错误,所以使用print (“你好,世界!”)。)

要实现此功能,您需要将此代码放在 premiumizer 的设置/初始化部分中的某个位置。如果不了解这个项目,我无法提供进一步的帮助。

关于python - 如何将系统托盘添加到python脚本中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55132798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com