如何创建 Tkinter 应用程序的系统托盘图标?
tkinterpythongui-programming更新于 2023/11/6 18:32:00
系统托盘图标用于在任务栏中显示应用程序的运行状态。它通常显示当前正在运行的应用程序。系统托盘图标在任务栏中可见。
要创建 tkinter 应用程序的系统托盘图标,我们可以使用 Python 中的 pystray 模块。它有许多内置函数和方法可用于配置应用程序的系统托盘图标。
要在您的机器上安装 pystray,您可以在 shell 或命令提示符中输入"pip install pystray"命令。
要创建系统托盘图标,您可以按照以下步骤操作,
导入所需的库 − Pystray、Python PIL 或 Pillow。
定义一个函数 hide_window() 来撤回窗口并在系统托盘中提供图标。
添加并定义两个菜单项,"显示"和"退出"。
通过定义显示和退出函数在菜单项中添加命令。
示例
# 导入所需库 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()
输出
如果运行上述代码,它将显示一个窗口。
当我们关闭窗口时,它仍将作为系统托盘图标出现在任务栏中。