У меня есть виджет древовидной структуры в моем приложении Tcl/Tk, который часто будет показывать повторяющиеся записи. Я пробовал писать «lsort -unique» и «lrmdups» в свой код, чтобы автоматически удалять дубликаты древовидных изображений, но без везения. Если возможно, кто-нибудь знает, как это сделать?Как программно удалить повторяющиеся записи в виджетах Tcl/Tk Treeview
-1
A
ответ
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
Немного более подробно будет полезно. Есть несколько виджетов дерева Tk - какой именно вы используете? Откуда берутся данные для заполнения? Можете ли вы опубликовать код? –