如何使用python pystray库仅在一个子菜单不是多个上显示复选标记,如下面的屏幕截图所示?

问题描述

这是我的示例代码Click to open screenshot 我尝试使用 state varibale 来实现,但在这种情况下,它会在两个子菜单上打勾。

[state = False
off_state = False][1]

def init_component(self):
    image = Image.open(resource_path("favicon.ico"))
    separator = MenuItem("-",None)

    menu_items = Menu(
        MenuItem("Open website",None),MenuItem("Change status",Menu(MenuItem("Online",self.change_status_online,checked=lambda MenuItem : state),MenuItem("Offline",self.change_status_offline,checked=lambda MenuItem : off_state))),MenuItem("Sign out",MenuItem(separator,MenuItem("Quit",)

    self.icon = _win32.Icon("TASK TRAY",image,"tasktool",menu_items)
    self.icon.run()

def change_status_online(self,Icon,MenuItem):
    global state
    state = not MenuItem.checked

def change_status_offline(self,MenuItem):
    global off_state
    off_state = not MenuItem.checked
   

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)