0

这是我的示例代码单击打开屏幕截图 我尝试使用状态变量来实现,但在这种情况下,它会在两个子菜单上打勾。

[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", None),
        MenuItem(separator, None),
        MenuItem("Quit", None),
    )

    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, Icon, MenuItem):
    global off_state
    off_state = not MenuItem.checked
   
4

0 回答 0