gpt4 book ai didi

python - 如何从 ttk.Treeview 小部件中清除项目?

转载 作者:太空狗 更新时间:2023-10-30 00:33:31 27 4
gpt4 key购买 nike

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 用于选定的组合框,所以我想要的是 TreeView 清楚,而不仅仅是不断添加更多成分。不幸的是,我没有看到 clear() 方法。

如果有一种程序化的方式来识别首先存在的内容(枚举行数会很好......),这让我抓狂。我确实在文档中注意到您可以使用 delete 方法,但它想知道要删除的项目是什么...如果我使用:

ingredients.delete('',0)

我明白了

TclError: Item 0 not found

所以我假设它想要像“糖”这样的东西作为项目......

当然这是一个陷阱 22,因为如果您选择组合框并想要清除成分 TreeView ,则并非每个食谱中都有相同的成分项目,那么我们怎么知道要删除哪些项目?...

如果您需要更多详细信息,请告诉我...我对使用 TreeView 对象还很陌生,但这让我只想在 Canvas 上使用两个列表框。

最佳答案

为了使代码更简洁和 Pythonic:

map(ingredients.delete, ingredients.get_children())

关于python - 如何从 ttk.Treeview 小部件中清除项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8830507/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com