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)
attribute_list - это список, который отображает что-то вроде ... ('Sugar', '1 Cup') и т. Д. ... def - это выбранный комбинированный список, поэтому я хотел бы, чтобыдерево, чтобы очистить, а не просто добавлять больше ингредиентов.К сожалению, я не вижу clear()
метода.
Если есть программный способ определения того, что там сначала (перечисление количества строк было бы хорошо ...), это сводит меня с ума.Я заметил в документах, что вы можете использовать метод удаления, но он хочет знать, какой элемент удалить ... если я использую:
ingredients.delete('',0)
Я получу
TclError: Item 0 not found
Так что я бы предположил, что ему нужно что-то вроде «сахара» в качестве предмета ...
, конечно, это уловка 22, потому что если вы выберете комбо-бокс и захотите очистить дерево ингредиентов, те же элементыне в каждом рецепте, так как мы узнаем, какие элементы нужно удалить? ...
Пожалуйста, дайте мне знать, если вам нужно больше подробностей ... Я довольно новичок в работе с объектом древовидной структуры, но егозаставляет меня хотеть просто работать с двумя списками на холсте.