Как реализовать флажок внутри заголовка tcl/tk Tablelist для реализации выбора всех функций. Я не смог найти какой-либо ресурс. Возможно ли это в любом методе? Пожалуйста, направляйте.Выбрать все флажок в заголовке таблицы Tcl/Tk
1
A
ответ
1
Я обошел проблему, поскольку я не нашел прямого метода для добавления виджета в заголовок таблицы. Я использовал два 16x16 изображений PNG (один из непроверенных ящиков , еще одна отмеченная ячейка ) в качестве -labelimage, которое было переключено с помощью команды label.
Таким образом, у пользователя есть ключ к действию щелчка на этом поле (на самом деле весь заголовок).
Пример кода: (не оптимизированы)
package require Tk
package require tablelist
package require Img
namespace eval ::test {
variable toggleState 0
}
proc onClick {tbl col} {
if {$::test::toggleState==0} {
.tbl columnconfigure 0 -labelimage .image.uncheckedbox
## ENTER YOUR CODE HERE TO DESELECT ALL CHECKBOX IN CELL WINDOW OF 0th COLUMN.
set ::test::toggleState 1
} else {
.tbl columnconfigure 0 -labelimage .image.checkedbox
## ENTER YOUR CODE HERE TO SELECT ALL CHECKBOX IN CELL WINDOW OF 0th COLUMN.
set ::test::toggleState 0
}
}
tablelist::tablelist .tbl -columntitles {col1 col2 col3} -height 10 -width 100 -stretch all -stripebackground #e0e8f0
grid .tbl -padx 5 -pady 5 -sticky news
image create photo .image.checkedbox -file {E:\path\checked.png}
image create photo .image.uncheckedbox -file {E:\path\unchecked.png}
.tbl columnconfigure 0 -labelimage .image.uncheckedbox -labelcommand onClick
ли вы имеете в виду [это] (http://www.nemethi.de/tablelist/tablelist.html) tablelist виджет? Вы уверены, что этого ожидают ваши пользователи? (В основном они ожидают, что щелчок на заголовке означает «сортировать по этому столбцу» ...) –
Я ссылался на контрольную кнопку внутри заголовка, например: http://www.ssw.com.au/SSW/standards/rules/Images/ SelectAllCheckBox_Web.jpg –
Я ранее думал об использовании опции -labelcommand, но позже отбросил идею по той же причине, о которой вы говорили в предыдущих комментариях. –