python中的通知而不停止脚本

问题描述 投票:-2回答:1

我正在使用python和opencv编写代码。如果未检测到面部,则应通知windows10用户。我使用win10toast

import time
from win10toast import ToastNotifier

notif = ToastNotifier()

notif.show_toast(title= "Nusrat", msg= "One baby is missing")
time.sleep(10)

但它会在显示通知时停止代码。我有什么方法可以使用gui或任何东西显示通知,但不会停止代码?

python notifications
1个回答
0
投票

library's Github repo显示了如何避免在着陆页示例中阻止:

from win10toast import ToastNotifier
import time

toaster = ToastNotifier()

toaster.show_toast("Example two",
               "This notification is in it's own thread!",
               icon_path=None,
               duration=5,
               threaded=True)
# Wait for threaded notification to finish
while toaster.notification_active(): time.sleep(0.1)

您需要添加threaded=True参数。只有在您想要检查通知是否仍处于活动状态时才需要休眠。

显示通知不是阻止操作。在关闭窗口之前,library's code强制睡眠等于duration

# take a rest then destroy
sleep(duration)
DestroyWindow(self.hwnd)
UnregisterClass(self.wc.lpszClassName, None)

threaded=True将在一个单独的线程中执行show/sleep/destroy流程。坦率地说,有更简洁的方法,例如使用一次性计时器。

© www.soinside.com 2019 - 2024. All rights reserved.