Python을 사용하는 대화 형 알림 Windows 10
눌렀을 때 특정 작업을 수행하는 Windows 10에서 알림을 표시 할 수 있는지 알고 싶었습니다. 내가 알고 plyer하고 win10toast있지만, 그 모듈의 양쪽에 나는 번의 클릭만으로 작업에 구성 할 수있는 방법을 볼 수 없습니다. 을 (를) 누르면 링크가 열리거나 일부 기능이 실행되어 tkinter. 여기에 대한 질문은 답이 없거나 호환되지 않습니다. 너희들은 어떤 생각이 있니?
스 니펫 1 :
from win10toast import ToastNotifier
noti = ToastNotifier()
noti.show_toast('Random','Hello World',icon_path='ico.ico',duration=60)
또한 duration=60어느 쪽이든 주더라도 약 후 자동으로 닫힙니다. 5 초.
스 니펫 2 :
from plyer.utils import platform
from plyer import notification
notification.notify(
title='Here is the title',
message='Here is the message',
app_name='Here is the application name',
app_icon='path/to/the/icon.' + ('ico' if platform == 'win' else 'png')
)
몇 가지 조사 후에서 win10toast작동하는 것을 발견 win32gui했으며 일부 구성으로 작동시킬 수 있습니다. 그러나 나는 무엇을 확신하지 못한다.
미리 감사드립니다
답변
callback_on_click메소드를 사용 하여 알림을 클릭하면 콜백을 수행 할 수 있습니다 .
이 스레드에서 언급 한 바와 같이 callback_on_click 설치 을 설치해야합니다 pip install -e git+https://github.com/Charnelx/Windows-10-Toast-Notifications.git#egg=win10toast으로 callback_on_click아직 합병하지 않습니다 wintoast.
오류가 발생하지만의 새 버전이 toastNotifier기존 버전 과 함께 복사됩니다.
메서드 에 액세스하려면 inorder from src.win10toast.win10toast import ToastNotifier대신 가져와야 합니다 .from win10toast import ToastNotifiercallback_on_click
스 니펫을 확인하세요.
from src.win10toast.win10toast import ToastNotifier
import tkinter as tk
from tkinter import *
import webbrowser
top = tk.Tk()
top.geometry('50x50')
top.title('shop')
url = 'http://www.google.com'
def notify():
noti.show_toast('Random','Hello World',duration=60, threaded=True,callback_on_click=action)
def action():
webbrowser.open_new(url)
print("Done")
noti = ToastNotifier()
btn = Button(top, text= "Enter", command=notify)
btn.pack()
top.mainloop()
참고- 토스트가 계속 활성화되어있는 동안 나머지 프로그램이 실행될 수 있도록 threaded=Truein 을 사용하는지 확인하십시오 show_toast(). 그렇지 않으면 GUI가 멈출 것입니다.