我需要在不重新加载整个内容的情况下将值添加到ttk.combobox。将值添加到GUI上时,不应重新加载GUI上的当前选择。
我需要这样的东西:
for string in listofstrings:
if string not in self.combobox1['values']:
self.combobox1['values'].append(string)
当我这样尝试时,出现此错误:
AttributeError:“元组”对象没有属性“ append”
(符合预期)。
预先感谢您的帮助。
答案 0 :(得分:1)
怎么样:
if string not in self.combobox1['values']:
self.combobox1['values'] = (*self.combobox1['values'], string)
或者:
if string not in self.combobox1['values']:
self.combobox1['values'] += (string,)
答案 1 :(得分:0)
我在寻找一种将项目追加到组合框的方法时遇到了这篇文章。我正在从电子表格加载值。我创建了一个列表,然后在循环中添加了项目。循环结束后,所有值都分配给组合框。我希望这对某人有帮助。
Combobox1.delete(0, END)
wb = load_workbook("types.xlsx")
ws = wb.active
r = 1
string=['']
for row in ws.iter_rows(min_row=1, min_col=1):
val=str(ws.cell(row=r, column=1).value)
string.append(val)
r = r + 1
Combobox1['values'] = string
wb.close()