我正在try 创建一个简单的菜单分隔符,但我很难做到这一点.我在So上和它的documentation页上搜索过,我发现它超级令人困惑和无用,我甚至试图阅读Menu
课:
class Menu(object):
"""A description of a menu.
A menu description is immutable.
It is created with a sequence of :class:`Menu.Item` instances, or a single
callable which must return a generator for the menu items.
First, non-visible menu items are removed from the list, then any instances
of :attr:`SEPARATOR` occurring at the head or tail of the item list are
removed, and any consecutive separators are reduced to one.
"""
#: A representation of a simple separator
SEPARATOR = MenuItem('- - - -', None)
def __init__(self, *items):
self._items = tuple(items)
在其中我找到了下面的表示,我使用了这样的表示:
sep = pystray.MenuItem("- - - -", None)
但它没有创建分隔符,而是创建了一个文本为- - - -
的菜单项
你可以在下面找到一个最小的可重现的例子:
import pystray
from PIL import Image
def item1_action(icon, item):
print("Item 1 clicked")
def item2_action(icon, item):
print("Item 2 clicked")
def quit_action(icon, item):
print("Quit clicked")
item1 = pystray.MenuItem("Item 1", item1_action)
item2 = pystray.MenuItem("Item 2", item2_action)
sep = pystray.MenuItem("- - - -", None)
quit_item = pystray.MenuItem("Quit", quit_action)
menu = (item1, item2,s, quit_item)
image = Image.open('icon.png')
icon = pystray.Icon("test", image, "test", menu)
icon.run()