2010-03-08 2 views
-1

У меня есть виджет древовидной структуры в моем приложении Tcl/Tk, который часто будет показывать повторяющиеся записи. Я пробовал писать «lsort -unique» и «lrmdups» в свой код, чтобы автоматически удалять дубликаты древовидных изображений, но без везения. Если возможно, кто-нибудь знает, как это сделать?Как программно удалить повторяющиеся записи в виджетах Tcl/Tk Treeview

+1

Немного более подробно будет полезно. Есть несколько виджетов дерева Tk - какой именно вы используете? Откуда берутся данные для заполнения? Можете ли вы опубликовать код? –

ответ

1

Если вы спрашиваете о виджетах ttk :: treeview, который поставляется с Tk 8.5 и выше, то один из способов обеспечить уникальные записи - это следить за параметром -id. Он будет автоматически предотвратить повторяющиеся элементы с одинаковым идентификатором:

% pack [ttk::treeview .tv -columns {One Two}] -fill both -expand 1 
% .tv insert {} end -id id1 -text First -values {1st first} 
id1 
% .tv insert {} end -id id1 -text Second -values {2nd second} 
Item id1 already exists 
0

Если вы знаете идентификатор элемента для удаления, вы можете просто сделать это:

.tv delete $id