0

我想用pystray. 然而,它似乎不起作用。我不会让这个问题太长,所以我会在这里输入错误。我正在使用的代码:

...
import sys
import pystray
from pystray import Icon as icon, Menu as menu, MenuItem as item

from PIL import Image, ImageDraw
state = False
def quit(icon,item):
     sys.exit(1)
m=(item(
    "Wyjdź",
    quit))
icon = pystray.Icon('AutoThemeChanger',title='AutoThemeChanger działa w tle',menu=m)
width = 120
height = 120
color1 = 255
color2 = 255

# Generate an image
image = Image.open("tray.png")
icon.icon = image
icon.visible=True


...

有人能帮助我吗?

4

1 回答 1

0

目前对于菜单,您使用的是元组而不是导入的菜单对象。您应该使整个元组成为像这样带有嵌套项的菜单对象,并且如果需要也可以使用子菜单:

from pystray import Menu, MenuItem as Item

menu = (
Item('mainitem1', callable),
Item('mainitem2', callable),
Item('mainitem3', Menu(Item('subitem1', callable),Item('subitem2', callable))),
Item('mainitem4', callable)
        )

还要注意,sys.exit()在这种情况下不起作用,您需要使用icon.stop().

于 2021-06-25T18:04:45.457 回答