Иконка Pystray systray

Я хочу использовать pystray Модуль в Python для создания приложения в системном трее на Windows. До сих пор мне удалось написать это:

import pystray
from PIL import Image

image = Image.open("image.gif")
icon = pystray.Icon(name ="SPAM!", icon =image, title ="MOBASuite", menu =None)
icon.run()

Мне было трудно узнать, как это работает. Это не ясно объяснено в документации.

Как я могу создать меню после щелчка правой кнопкой мыши на значке и как я могу добавить элементы в меню и установить элемент по умолчанию, который должен вызываться, если я нажимаю на значок левой кнопкой. И как я могу обновить иконку? Если я запускаю эту программу, создаются 3 иконки, и я должен навести на них курсор мыши, чтобы они стали одним значком. То же самое, когда я закрываю программу.

1 ответ

from pystray import MenuItem as item
import pystray
from PIL import Image

def action():
    pass

image = Image.open("image.jpg")
menu = (item('name', action), item('name', action))
icon = pystray.Icon("name", image, "title", menu)
icon.run()

Это работа для меня

Я рекомендую использовать лямбду для вызова метода

item('Call something', lambda :  method())
Другие вопросы по тегам