我是 Python 新手,我想使用 TKinter 提供的选项菜单显示一个下拉列表,即 Netflix、Now TV、Amazon Prime 等。下拉列表应显示上面列出的文本值,但每个项目都有一个唯一标识符,我不想在下拉列表中显示。我从 API 返回的数据如下:
[{'id': 1, 'name': 'Netflix'}, {'id': 2, 'name': 'Now TV'}, {'id': 3, 'name': 'Amazon'}]
我想要一个显示如下的列表:
Netflix
Now TV
Amazon
当一个项目被选中时,我会想要从所选项目中选择 id,这样我就可以进行 API 调用并获取完整信息。
实际上,列表中的每个项目都将具有唯一标识符,但不会显示在选项菜单中。
我在选项菜单中显示的是:“{'id': 1, 'name': 'Netflix'} 当我只想要名称值“Netflix”时
这是填充选项菜单并处理选择的代码的摘录。
accounts = accountsAPI.getAccounts()
def change(*args):
selectedItem = var.get()
print(selectedItem)
if selectedItem in accounts:
print(accounts.get())
var = StringVar(root)
var.trace("w",change)
dropDownMenuAccounts = OptionMenu(root,var,*accounts)
dropDownMenuAccounts.grid(row=0,column=1, padx=10,pady=10)
任何人都可以指导我如何实现这一目标。