23

是否可以使用 python 在 Windows 中添加通知?就像一个通知框,其中包含有关更新或其他内容的一些信息

在 Windows 中,如果您还没有通过这张图片来计算的话..

通知

4

4 回答 4

27

首先,使用以下命令安装 win10toast pip

pip install win10toast

然后,导入它:

from win10toast import ToastNotifier

创建一个名为的变量toast

toast = ToastNotifier()

显示toast变量:

toast.show_toast(
    "Notification",
    "Notification body",
    duration = 20,
    icon_path = "icon.ico",
    threaded = True,
)

它应该看起来像这样:

python toast通知

于 2020-04-19T23:18:21.840 回答
20

你可以使用Jason Chen 的 balloontip.py。它有将近 50 行代码,所以我不会在这里粘贴它。

似乎也适用于 Windows 10。

感谢zack找到了这颗宝石。

于 2015-11-25T20:39:01.473 回答
17

Github 上还有Windows-10-Toast-Notifications

它适用于 Windows 10(使用 pywin32),并且允许多个通知。

在此处输入图像描述

于 2017-07-13T20:53:10.290 回答
5

您可以使用 plyer 显示通知:

from plyer import notification

notification.notify(
title = "Sample Notification",
message = "This is a sample notification",
timeout = 10
)

或者您可以运行此代码并生成通知:

from plyer import notification

import tkinter as tk

root = tk.Tk()

tk.Label(root , text = 'NOTIFICATION DEVELOPER').grid(row = 0, column = 0)
tk.Label(root , text = 'Notification Title:').grid(row = 3, column = 0)
tk.Label(root , text = 'Notification Message').grid(row = 4, column = 0)
tk.Label(root , text = 'Seconds for which it appears'). grid(row = 5, column = 0)

t1 = tk.Entry(root)
t1.grid(row = 3, column = 1)

m = tk.Entry(root)
m.grid(row = 4, column = 1)

tm = tk.Entry(root)
tm.grid(row = 5, column = 1)

def strt():
    a = int(tm.get())
    notification.notify(
    title = t1.get(),
    message = m.get(),
    timeout = a
    )
tk.Button(root , text = 'START NOTIFICATION' , command = strt).grid(row = 6, column = 0)

root.mainloop()

如果您希望他在一段时间后再次显示通知,您可以使用 time.sleep(a) 并循环代码。(a = 再次显示通知的时间。

要插入图标,请使用 app_icon:

app_icon = 'Full path of .ico file'
于 2020-06-09T05:49:28.290 回答