0

我是 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)

任何人都可以指导我如何实现这一目标。

4

0 回答 0