如何在Tkinter应用程序中创建系统托盘图标?

如何在Tkinter应用程序中创建系统托盘图标?

系统托盘图标用于显示任务栏中应用程序的运行状态。它通常显示哪个应用程序目前正在运行。系统托盘图标在任务栏中是可见的。

要创建Tkinter应用程序的系统托盘图标,我们可以使用Python中的 pystray 模块。它有许多内置的函数和方法,可以用于配置应用程序的系统托盘图标。

要在您的计算机上安装 pystray ,可以在您的 shell 或命令提示符中键入“ pip install pystray ”命令。

要创建系统托盘图标,可以按照以下步骤进行:

  • 导入所需的库 – pystrayPython PILPillow

  • 定义函数 hide_window() ,用于收回窗口并在系统托盘中提供图标。

  • 添加并定义两个菜单项“ Show ”和“ Quit ”。

  • 通过为“Show”和“Quit”定义函数来添加菜单项的命令。

例子

# 导入所需的库
from tkinter import *
from pystray import MenuItem as item
import pystray
from PIL import Image, ImageTk

# 创建Tkinter窗口或框架的实例
win=Tk()
win.title("系统托盘应用程序")

# 设置窗口的大小
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_window), item('显示', show_window))
   icon=pystray.Icon("name", image, "我的系统托盘图标", menu)
   icon.run()

win.protocol('WM_DELETE_WINDOW', hide_window)

win.mainloop()

输出

如果您运行上述代码,它将显示一个窗口:

如何在Tkinter应用程序中创建系统托盘图标?

当我们关闭窗口时,它仍将出现在任务栏中,作为系统托盘图标:

如何在Tkinter应用程序中创建系统托盘图标?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程