gpt4 book ai didi

python - Toast通知程序离开托盘图标循环后

转载 作者:太空宇宙 更新时间:2023-11-03 21:08:23 24 4
gpt4 key购买 nike

我正在尝试构建简单的Python应用程序,它将向托盘添加图标。我还向该托盘图标添加了 2 个菜单项,一个用于显示 Windows 10 toast 消息,另一个用于停止应用程序。

程序正在正确启动,出现图标,也出现菜单。所以,我用 self.icon.run() 运行的进程应该等等,直到我不会打电话self.icon.stop()

问题是,当我按第一个菜单项(“测试通知”)时 - Toast 通知正确显示,但此过程超出 self.icon.run() 后循环,程序自行完成。

我不明白为什么会这样。根据文档self.icon.run()应该等到 stop() 调用。

我做错了什么吗?这是我的代码:

from win10toast import ToastNotifier
from pystray import *
from PIL import Image

class SysTrayUI:
def __init__(self):
self.icon_path = "icon.png"

self.menu_items = [
MenuItem("Test Notification", lambda: toaster.show_toast("Test")),
MenuItem("Exit", lambda: self.icon.stop()),
]
self.menu = Menu(*self.menu_items)

self.icon = Icon("Test Name", menu=self.menu)
self.icon.icon = Image.open(self.icon_path)

self.icon.run()

toaster = ToastNotifier()
app = SysTrayUI()

最佳答案

线程 = True

这会有所帮助,你最好创建一个单独的函数并传递消息,如下所示(这对我有用)。当我在没有创建函数的情况下执行相同操作时,它对我不起作用。因此请遵循以下格式

def notify(msg):
n = ToastNotifier()
n.show_toast("Champzz", msg, duration= 10, threaded=True)

关于python - Toast通知程序离开托盘图标循环后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55252929/

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