首页 > 解决方案 > 从 option_lists 调用列表(tkinter 和 python)

问题描述

使用 .get(tkinter 函数 thingy)时,它似乎将列表转换为字符串。环顾四周时,似乎没有任何真正的方法可以使用选项列表来选择列表而不去

if variable.get = list_1 list_choice = list_1
elif varible.et = list_2 list _choice = list_2
ect

但这意味着在添加新列表时我添加了更多 elifs,并且在运行代码时我无法添加新列表(我认为)

关于如何使用 .get 从输入小部件调用列表的任何想法?

感谢您的任何意见,甚至只是阅读此内容!

代码:

list_1 = ["list 1",[1,2,3,4,5,6,7],0.9,[0.5,2],[0.5,2.5,10],[10,5],[0,0,0,1]]
list_2 = ["list 2",[1,1,1,1,1,1,1],1,[1,1],[1,1,1],[1,1],[1,1,1,1]]
list_3 = ["list 3",[0,0,0,0,0,0,0],0,[0,0],[0,0,0],[0,0],[0,0,0,0]]
  
#creates the drop down list
OptionList = [
list_1[0:1],
list_2[0:1],
list_3[0:1] 
] 

app = tk.Tk()

app.geometry('100x200')

variable = tk.StringVar(app)
variable.set(OptionList[0])
print(OptionList[0])
opt = tk.OptionMenu(app, variable, *OptionList)
opt.config(width=90, font=('Helvetica', 12))
opt.pack(side="top")



def callback(*args):
    global list_1 
    global list_2
    ##removes extra string stuff
    list_choice= variable.get().replace(",", "")
    list_choice= aid.replace("(", "")
    list_choice= aid.replace(")", "")
    list_choice= aid.replace(" ", "_")
    list_choice= aid.replace("'", "")
    print(list_choice)
    list_choice= vars()[list_choice]
    print(list_choice)
    print(list_choice[2:2])

标签: pythonlisttkinterwidget

解决方案


推荐阅读