Как реализовать флажок внутри заголовка tcl/tk Tablelist для реализации функции выбора всех . Я не смог найти ни одного ресурса. Возможно ли это любым способом? Пожалуйста, направляйте.
Вопрос
Установите флажок "Все" в заголовке списка таблиц Tcl/Tk.
- Вы имеете в виду этот виджет списка таблиц? Вы уверены, что именно этого ожидают ваши пользователи? (В основном они ожидают, что щелчок по заголовку будет означать "сортировать по этому столбцу"...) Donal Fellows 15.12.2014
- Я имел в виду кнопку-флажок внутри заголовка, например: ssw. com.au/SSW/standards/rules/Images/SelectAllCheckBox_Web.jpg Codename_DJ 15.12.2014
- Раньше я думал об использовании опции -labelcommand, но позже отказался от этой идеи по той же причине, которую вы упомянули в предыдущем комментарии. Codename_DJ 15.12.2014
- Извините, забыл ответить на главный вопрос. Вы имеете в виду этот виджет списка таблиц? -да, я использую этот виджет списка таблиц Codename_DJ 15.12.2014
Ответы
Ответ 1 · рейтинг 1 · Community
Я обошел проблему, так как не нашел прямого способа добавить виджет в заголовок списка таблиц. я использовал два изображения png 16x16 (одно из неотмеченных полей ; другое отмеченное поле ) как -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
Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.
Похожие материалы
- В JSF Как я могу понять несколько флажков, все ли они отмечены или нет?
- Привязка флажка WPF
- Как сделать функцию в Vanilla JS, которая помещает проверенный атрибут на радио-входы перед выбранным входом?
- Если флажок в форме отмечен, добавьте его в результирующий класс div
- Номер строки и номер столбца в текстовом виджете
- Tcl configure - сбой фона кнопки