gpt4 book ai didi

python - 生成多个菜单项,并在臀部列出列表

转载 作者:行者123 更新时间:2023-12-01 01:15:04 24 4
gpt4 key购买 nike

我已经构建了一个python rumps具有一些菜单选项的应用程序。但我试图弄清楚如何从列表创建菜单或子菜单。我需要提取用户列表,当单击它时,它会执行该用户特有的命令。

因此,它应该连接到外部源以获取用户列表,然后将这些用户列为菜单项。单击每个将执行不同的唯一命令或选项。

这就是我想要做的,但显然这是不行的。

import rumps

# returns a list of users
listofusers = get_list_of_user_folders()

class OfficeToolApp(rumps.App):
def __init__(self):
super(OfficeToolApp, self).__init__("Tools", icon="officeimage.png")
self.menu = listofusers

for user in listofusers:
@rumps.clicked(user)
def userclick(self, _):
change_wacom_driver.RunSync("push", user)

@rumps.clicked("Push Settings to Jay")
def pushjaysettings(self, _):
change_wacom_driver.RunSync("push", "jay")

@rumps.clicked("Push Settings to Steve")
def pushstevesettings(self, _):
change_wacom_driver.RunSync("push", "steve")

if __name__ == "__main__":
OfficeToolApp().run()

我实际上很惊讶这在菜单中正确生成了列表。这些按钮似乎没有任何作用。

最佳答案

我敢打赌有更好的方法,但这是我让它发挥作用的唯一方法:

import rumps

# returns a list of users
listofusers = ["alice", "billy", "coryn", "dana", "ernie"]


def userclick(app, menuitem):
rumps.alert(f"push {menuitem.title} no preferences available!")


class OfficeToolApp(rumps.App):

for user in listofusers:
# stack the decorators
userclick = rumps.clicked(user)(userclick)

def __init__(self):
super(OfficeToolApp, self).__init__("Tools")
self.menu = listofusers

@rumps.clicked("Push Settings to Jay Bird")
def pushjaysettings(self, _):
rumps.alert("push jay no preferences available!")

@rumps.clicked("Push Settings to Steve")
def pushstevesettings(self, _):
rumps.alert("push steve no preferences available!")


if __name__ == "__main__":
OfficeToolApp().run()

关于python - 生成多个菜单项,并在臀部列出列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54430681/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com