为什么 pystary 菜单会引发这么多错误?
Why does pystary menu raises so many errors?
我想用pystray
制作托盘图标。但是,它似乎不起作用。
我不想让这个问题太长,所以我会输入错误 here. 我正在使用的代码:
...
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
...
有人可以帮我吗?
目前您使用的菜单是元组,而不是导入的菜单对象。
你应该使整个元组成为一个像这样的带有嵌套项目的菜单对象,并且如果你愿意也可以使用子菜单:
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()
。
我想用pystray
制作托盘图标。但是,它似乎不起作用。
我不想让这个问题太长,所以我会输入错误 here. 我正在使用的代码:
...
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
...
有人可以帮我吗?
目前您使用的菜单是元组,而不是导入的菜单对象。 你应该使整个元组成为一个像这样的带有嵌套项目的菜单对象,并且如果你愿意也可以使用子菜单:
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()
。