Pystray图标
小于 1 分钟
Pystray图标
在运行pywebview的同时使用pystray显示系统托盘图标。
import multiprocessing
import sys
from PIL import Image
from pystray import Icon, Menu, MenuItem
import webview
if sys.platform == 'darwin':
ctx = multiprocessing.get_context('Spawn')
Process = ctx.Process
Queue = ctx.Queue
else:
Process = multiprocessing.Process
Queue = multiprocessing.Queue
webview_process = None
def run_webview():
window = webview.create_window('Webview', 'https://pywebview.idepy.com/hello')
webview.start()
if __name__ == '__main__':
def start_webview_process():
global webview_process
webview_process = Process(target=run_webview)
webview_process.start()
def on_open(icon, item):
global webview_process
if not webview_process.is_alive():
start_webview_process()
def on_exit(icon, item):
icon.stop()
start_webview_process()
image = Image.open('logo/logo.png')
menu = Menu(MenuItem('打开', on_open), MenuItem('退出', on_exit))
icon = Icon('Pystray', image, menu=menu)
icon.run()
webview_process.terminate()