如果项目的名称在元组中出现多于一个,我想只用一个项目填充combobox
,只显示一个名称。如果元组中的名称是一个,那么应该出现一个名称。
例如,在我的元组中,sally
出现两次,我只想在combobox
中插入一个
我将非常感谢您的帮助。
from tkinter import *
from tkinter import ttk
rows = ((1, 'ben', 'journalism', 18), (2, 'sally', 'performing arts', 22),
(3,"dan","information technology",32),
(2, 'ben', 'footballer', 70),(2, 'sally', 'arts', 56),(3,"dan","technology",52),(20,"frank","technology",52)
root = Tk()
root.geometry("200x200")
cb = ttk.Combobox(root)
cache = list()
for row in rows:
cache.append(row[1])
cb['values'] = cache
cb.pack()
root.mainloop()
答案 0 :(得分:0)
您可以创建set()
名称,然后使用它来填充组合框
答案 1 :(得分:0)
在行中有两个sally值,并且它们都添加它们 - 你可以在循环中用一个简单的if语句来改变它。
for row in rows:
if row[1] not in cache:
cache.append(row[1])