Tcl Tk древовидное представление с кнопками-флажками

Можно ли добавить кнопку проверки в столбец ttk::treeview.

В частности, я пытаюсь создать контрольный список, чтобы пользователь мог скрывать или отображать элементы на холсте, когда флажок установлен или снят. Поскольку существует множество элементов холста с определенным типом и подтипом, мне нужен механизм типа списка.


person balaji kommineni    schedule 20.04.2012    source источник
comment
Должен ли этот контрольный список быть деревом или подойдет простой список? Если вам нужно дерево, нужны ли вам все функции виджета дерева, такие как возможность сворачивать и разворачивать узлы?   -  person Bryan Oakley    schedule 20.04.2012
comment
Да, Брайан, мне нужно складное дерево, потому что, если оно не свернуто, высота дерева будет огромной. Я очень хочу иметь возможность сказать кучу многоугольников (квадрат, прямоугольник, треугольник), а затем каждый многоугольник имеет пять разных цветов. Таким образом, это может быть довольно долго.   -  person balaji kommineni    schedule 20.04.2012


Ответы (1)


Во-первых, я думаю, что вы находитесь на правильном пути пользовательского интерфейса с деревом флажков (и другими вещами, которые я полагаю? Описательный текст хорош, когда дело доходит до помощи пользователям со сложным пользовательским интерфейсом). Но теперь плохие новости.

Это не то, что на самом деле поддерживается виджетом treeview. В частности, у него нет возможности встраивать виджеты, а также встроенная поддержка обработки событий в строках. Хотя было бы возможно взломать что-то вместе — вы всегда можете добавить свои собственные пользовательские привязки, использовать средства виджета, предоставленные для декодирования информации о местоположении, и имитировать кнопки с помощью соответствующих изображений — но это было бы много работы, и это определенно было бы взлом.

Я бы посоветовал вместо этого попробовать виджет tktreectrl. Это внешний пакет, но он чрезвычайно мощный (настолько, что в большинстве случаев люди заключают его в код, чтобы укротить его!) Увы, личного опыта использования у меня нет, поэтому подробной инструкции дать не могу.

person Donal Fellows    schedule 20.04.2012
comment
Спасибо, Донал, я попробую. - person balaji kommineni; 20.04.2012