如何在一个托盘菜单中提供下拉子菜单,如下图所示,使用 python 中的 pystray 库?

问题描述

这是我的示例代码

    image = Image.open("E:\\production\\Windows utility tool\\images\\icon.ico")
    menu = (item("Sign in",show_window),item("Change status",status_online),item("Change icon",change_icon),item("Open application",open_application),item("Quit",quit_window))
    icon = pystray.Icon("Notifer",image,"notifier_application",menu)
    icon.run()

See sample image

解决方法

下拉子菜单的菜单应该是这样的

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

确保在代码的开头添加 from pystray import Menu,MenuItem as Item

希望我给了你一个正确的答案。