首页 > 解决方案 > 将我的 Python GUI 脚本与系统托盘脚本 pywin32 (tkinter) 链接

问题描述

我使用 Pyinstaller 创建了我的 GUI python 脚本的可执行文件(我使用 tkinter 作为框架,使用 Anaconda3、Python 3.7,我在 Windows 10 上)。我已使用任务计划程序将其设置为在 Windows 启动时自动启动。

我被要求让它在系统托盘中静默运行,但不作为服务运行(因为有时它需要用户交互)。

感谢这里非常乐于助人的用户:

将python脚本放入系统托盘(Windows)的最简单方法是什么

将 Python 最小化到系统托盘并生成通知?

如何为 Windows 构建 SystemTray 应用程序?

我有一个win32py脚本,它创建带有一些菜单和简单功能的系统托盘图标。但是,我无法弄清楚如何将我的 tkinter GUI 脚本与此代码链接。我尝试使用 execfile().open() 执行我的脚本并使其像脚本中的普通 menu_action 一样运行,但它不起作用。

这里的一些讨论:

在系统托盘中隐藏 tkinter 窗口

表明无法在系统托盘中隐藏 tkinter 帧。但据我了解,上面的脚本独立于此。

我发现了这个 tcl 扩展tktray ( https://core.tcl-lang.org/jenglish/gutter/packages/tktray.html ),我现在正在学习如何将它构建到 tlc 中。这不是微不足道的和我想的一样。但是,tktray 已有 10 年历史,所以我不希望它与当前版本兼容。

我发现的所有其他解决方案都适用于其他编程语言、其他操作系统或使用 PyQ5。我不想仅仅为了这个额外的功能而用wxPythonPyQ5重写我的整个代码,所以如果有人可以帮助我将我的 GUI 脚本与上面的 win32py 脚本链接起来......

标签: pythontkinterpywin32win32guisystem-tray

解决方案


推荐阅读