Я хотел добавить флажок в ttk::treeview?
я прочитал несколько документов и обнаружил, что невозможно добавить флажок для добавления в ttk::treeview. Есть ли другой вариант сделать это?
Я хотел добавить флажок в ttk::treeview?
я прочитал несколько документов и обнаружил, что невозможно добавить флажок для добавления в ttk::treeview. Есть ли другой вариант сделать это?
Виджет дерева просто недостаточно сложен, чтобы сделать это, не без большой работы. (Вы можете приблизиться к этому, создав стили, которые определяют, как выглядят проверенные и непроверенные линии, и используя привязку для переключения между ними… но это было бы довольно ужасно и хрупко.) Да , это означает, что вы не можете делать с ним все, но это, в свою очередь, упрощает изучение API виджета. Это всегда сложный компромисс дизайна.
Ваш лучший выбор, вероятно, TkTreeCtrl, который имеет репутацию способного делать практически все, что вы можете себе представить. когда-либо желая сделать с виджетом дерева (или таблицы, или сетки). Всегда. Насколько я понимаю (не будучи его пользователем), его довольно сложно использовать; Я слышал, что мне рекомендовали всегда обертывать TkTreeCtrl дополнительным кодом, чтобы ограничить его API конкретной целью, которая вам нужна.
Я использую флажки в ttk:treeview с ванильным кодом, но в первом столбце.
В первом столбце древовидного представления (обозначаемом как #0 или «дерево») вы можете указать изображение (скажем, icon_checked и icon_unchecked), как и для метки.
$win.tv item $item -image icon_checked
Вот вам и графическая часть. Для не очень грязной части:
Уточните, что вы хотите спросить у пользователя, чтобы получить более конкретный ответ.
Я нашел решение на comp.lang.tcl. См. https://groups.google.com/d/msg/comp.lang.tcl/VwG4_7-1538/MWzhZiVcoecJ