В чем разница между многопоточным и непотоковым уведомлением Win10Toast в Python? - PullRequest
0 голосов
/ 22 июня 2019

В документации win10toast есть 2 примера уведомлений:

from win10toast import ToastNotifier
toaster = ToastNotifier()

toaster.show_toast("Hello World!!!",
    "Python is 10 seconds awsm!",
    icon_path="custom.ico",
    duration=10)

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)

Я управлял обоими, и я не видел никакой разницы. Видимо, между ними нет визуальной разницы. Время также одинаковое - многопоточное уведомление не исчезает дольше, даже когда цикл while завершается. Как многопоточные, так и непоточные уведомления ничего не делают, если вы нажимаете на них.

Что такое тостовое уведомление с резьбой? Есть ли какая-то разница с нерезьбовой?

1 Ответ

0 голосов
/ 24 июня 2019

Когда многопоточность включена, остальной части вашей программы будет разрешено выполняться, пока тост еще активен. В противном случае ваша программа будет ждать завершения тоста, прежде чем продолжить.

Пример:

import os
from win10toast import ToastNotifier

toaster = ToastNotifier()

toaster.show_toast('title', 'IE is starting', threaded=True)

os.startfile("C:\\Program Files\\internet explorer\\iexplore.exe")

Когда для потоков задано значение True, IE откроется, пока тост все еще активен.

Когда для потоков задано значение False, IE откроется после окончания тоста.

...