【发布时间】:2020-08-13 09:26:09
【问题描述】:
我想从对象列表(信息)中创建 ComboBox。我创建了下面的程序。我的问题是显示组合框的默认值。我为此使用了 Stringvar。但默认值只显示在最后创建的 Combobox 中。我认为是因为我的 StringVar 对于所有 ComboBox 都是独一无二的,但我不知道如何解决这个问题。我该怎么做?
计数器 = 0
for i in infos:
frame = Frame(principalFrame, bd=1)
frame.grid(row=counter, column=0, pady=20)
frame.columnconfigure(0,weight=1)
label = Label(frame, text=i.name)
label.grid(row=0, column=0, sticky="news")
label.columnconfigure(0,weight=1)
varCombo = StringVar(window)
varCombo.set(i.default)
combo = ttk.Combobox(frame, state="readonly", textvariable=varCombo, values=i.values)
combo.grid(row=1, column=0, sticky="news")
combo.columnconfigure(0, weight=1)
combo.rowconfigure(0, weight=1)
counter = counter + 1
【问题讨论】:
-
试试
combo.current(0),这里0是item在列表中的索引位置
标签: python for-loop tkinter combobox