2012-04-20 2 views
0

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

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

+0

Должен ли этот контрольный список быть деревом или сделать простой список? Если вам нужно дерево, вам нужны все особенности виджета дерева, такие как возможность свернуть и развернуть узлы? –

+0

Да, Брайан, мне нужно иметь сбрасываемое дерево, потому что если он не рухнет, высота дерева будет громоздкой. Я очень хочу быть в состоянии сказать кучу полигонов (квадрат, прямоугольник, треугольник), а затем каждый многоугольник имеет пять разных цветов. Таким образом, это может быть довольно долго. –

ответ

2

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

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

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

+0

Спасибо Донал, я попробую. –