gpt4 book ai didi

python - 如何从 JSON 多维附加动态下拉列表

转载 作者:太空宇宙 更新时间:2023-11-03 20:25:22 24 4
gpt4 key购买 nike

如何从 json 多维附加显示文本和值附加下拉列表。

显示文本 = DId值 = LocId

from functools import partial
from tkinter import *
from tkinter import messagebox

def ShowValue(val) :
messagebox.showinfo('Message',val)
return

def CallFunc():
data = [{'DId': '158d0002f2f156', 'LocId': '9', 'status': '1', 'DateRec': '2019-08-23 15:34:43'},
{'DId': '158d0002f2f431', 'LocId': '19', 'status': '1', 'DateRec': '2019-08-23 22:29:58'},
{'DId': '158d0002f2f321', 'LocId': '12', 'status': '1', 'DateRec': '2019-08-23 16:15:56'},
{'DId': '158d0002f2f544', 'LocId': '13', 'status': '1', 'DateRec': '2019-08-27 17:53:48'}]
return data

gui = Tk()
gui.geometry("500x200")
gui.title("Test Temperature")
gui.configure(background="white")

lab00 = Label(gui, text="Select Devices : ", bg="white")
lab00.grid(row=0, column=0)

option = StringVar()
Value = CallFunc()
for i in range(len(Value)) :
menu = OptionMenu(gui,option,Value[i]['DId'])

menu.grid(row=0,column=1)

btn = Button(gui, text="Show",command=partial(ShowValue,option.get()))
btn.grid(row=4,column=1)

gui.mainloop()

最佳答案

您可以通过列表理解获取值:

option = StringVar()
menu = OptionMenu(gui, option, *[i.get("DId") for i in CallFunc()])
menu.grid(row=0, column=1)

对于按钮命令,您可以使用 lambda 代替:

btn = Button(gui, text="Show", command=lambda: ShowValue(option.get()))

要获取 json 文件的值,请在 ShowValue 函数中进行查找:

def ShowValue(val) :
for i in CallFunc():
if val in i.values():
message = i.get("LocId")
messagebox.showinfo('Message',message)
return

关于python - 如何从 JSON 多维附加动态下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57864393/

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