我正在做一个小项目,在检索组合框中存储的值时遇到问题。该程序有一个“加号”按钮,可在现有框下方创建其他框。它们是通过调用“create”函数创建的,该函数创建 ComboBox 类的新实例,在该实例中创建框并将其放到屏幕上。然后应该有一个单独的“提交”函数循环并检索所有框值并将它们存储在列表中。我的主要缺陷是我在变量名中使用了数据,但我不知道在这种情况下如何做到这一点。有没有人有替代解决方案?
(这里显示了一些屏幕外变量作为参数,但绝对不是问题的根源)
class ComboBox:
def __init__(self, master, counter, fields):
self.master = master
self.counter = counter
self.fields = fields
self.field_box = ttk.Combobox(width=20)
self.field_box["values"] = fields
self.field_box.grid(row=counter + 1, column=0, pady=5)
def get_value(self):
value = self.field_box.get()
return value
def create():
global entry_counter
name = "loop"+str(entry_counter-1)
name = ComboBox(window, entry_counter, fields)
values.append(name.get_value())
entry_counter += 1
def submit():
for i in range(1, entry_counter):
name = "loop" + str(entry_counter-1)
values.append(name.get_value())
例如,如果我创建了 2 个框并选择了选项“test1”和“test2”,我希望我的值列表包含 ["test1, "test2"]
www说
一只萌萌小番薯
相关分类