【发布时间】:2012-02-08 11:19:54
【问题描述】:
ing_scroll = Scrollbar(window1_frame1, orient=VERTICAL)
ingredients = ttk.Treeview(window1_frame1, yscrollcommand=ing_scroll.set, height=5, columns=['Ingredient', 'Amount'], show="headings")
ingredients.heading("Ingredient", text='Ingredient')
ingredients.column("Ingredient", width=7)
ingredients.heading("Amount", text='Amount')
ingredients.column("Amount", width=1)
ing_scroll.config(command=ingredients.yview)
ing_scroll.pack(side=RIGHT, fill=Y)
ingredients.pack(side=LEFT, fill='both', expand=1)
def OnRecpSelect(event):
DB = menu_combo.get()
mytable = recipe_combo.get()
ingredient_list = TKengine.pull_ingredients(DB, mytable)
# NEED TO CLEAR THE INGREDIENTS TTK:TREEVIEW OBJECT HERE!
for i in ingredient_list:
ingre = i[1]
amoun = i[2]
value = ingre,amoun
ingredients.insert('',0,values=value)
ingredient_list 是一个列表,显示类似... ('Sugar', '1 Cup') 等... def 用于选择的组合框,所以我想要的是树视图明确而不只是不断添加更多成分。不幸的是,我没有看到 clear() 方法。
如果有一种编程方式来识别首先存在的内容(枚举行数会很好......)这让我发疯了。我确实在文档中注意到您可以使用 delete 方法,但它想知道要删除的项目...如果我使用:
ingredients.delete('',0)
我明白了
TclError: Item 0 not found
所以我会假设它想要像“糖”这样的物品...
当然是第 22 个问题,因为如果您选择组合框并想清除成分树视图,则并非每个食谱中都有相同的成分项目,那么我们如何知道要删除哪些项目?...
如果您需要更多详细信息,请告诉我...我对使用树视图对象还很陌生,但这让我只想在画布上使用两个列表框。
【问题讨论】:
-
几乎是(但早于)stackoverflow.com/questions/22812134/… 的副本,并且新版本更加简洁。请考虑联手。
标签: python syntax tkinter treeview