如何在 Tkinter 中制作系统托盘应用程序?
tkinterpythongui-programming更新于 2025/7/19 8:12:17
系统托盘应用程序是为了程序的持续执行而创建的。每当用户关闭应用程序时,它都会在任务栏上运行。为了识别系统托盘应用程序,我们可以为其应用程序提供图像或图标。
要创建 tkinter 应用程序的系统托盘图标,我们可以使用 Python 中的 pystray 模块。它有许多内置函数和方法可用于配置应用程序的系统托盘图标。
要在您的机器上安装 pystray,您可以输入"pip install pystray"命令。
要创建系统托盘图标,您可以按照以下步骤操作,
导入所需的库 - Pystray、Python PIL 或 Pillow。
定义一个函数hide_window() 来撤回窗口并将图标提供给系统托盘。
添加并定义两个菜单项,"Show"和"退出"。
通过定义显示和退出函数在菜单项中添加命令。
示例
# 导入所需库
from tkinter import *
from pystray import MenuItem as item
import pystray
from PIL import Image, ImageTk
# 创建 tkinter 框架或窗口的实例
win=Tk()
win.title("System Tray Application")
# 设置窗口大小
win.geometry("700x350")
# 定义退出窗口的函数
def quit_window(icon, item):
icon.stop()
win.destroy()
# 定义一个函数来再次显示窗口
def show_window(icon, item):
icon.stop()
win.after(0,win.deiconify())
# 隐藏窗口并显示在系统任务栏上
def hide_window():
win.withdraw()
image=Image.open("favicon.ico")
menu=(item('Quit', quit_window), item('Show', show_window))
icon=pystray.Icon("name", image, "My System Tray Icon", menu)
icon.run()
win.protocol('WM_DELETE_WINDOW', hide_window)
win.mainloop()
输出
如果运行上述代码,它将显示应用程序窗口。
如果我们关闭窗口,它仍将作为系统托盘应用程序出现在任务栏中。

相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

