我正在使用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或其他方式显示通知,但不会停止代码?
答案 0 :(得分:0)
library's Github repo在着陆页示例中显示了如何避免阻塞:
x[paste0("condition", 1:nrow(cond))] <-
+(sapply(seq_len(nrow(cond)), function(i)
eval(parse(text=paste0("with(x,",cond[i,'condition'],")")))))
x
# A B condition1 condition2
#1 1 2 0 0
#2 2 3 1 1
#3 3 4 1 0
您需要添加+(sapply(cond$condition, function(i) with(x, eval(parse(text=as.character(i))))))
# [,1] [,2]
#[1,] 0 0
#[2,] 1 1
#[3,] 1 0
参数。仅当您要检查通知是否仍处于活动状态时才需要睡眠。
显示通知不是是一项阻止操作。 library's code在关闭窗口之前强制进行等于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
duration
将在单独的线程中执行# take a rest then destroy
sleep(duration)
DestroyWindow(self.hwnd)
UnregisterClass(self.wc.lpszClassName, None)
流。坦白地说,有更清洁的方法可以做到这一点,例如使用一次性计时器。