Tk Tablelist,如何在tablelist单元格中创建红色边框

时间:2012-09-06 11:44:39

标签: tcl tk

package require Tk
package require Tablelist


tablelist::addOakleyCombobox 
    ::tablelist::tablelist .tbl \
            -columns "0 A center 0 B center 0 C center" \
            -stretch all \
            -showseparators 1 

pack .tbl -side top -fill both -expand yes

.tbl insert end ""

proc createWindow {tbl row col w} {
    button $w -text OK
}

.tbl cellconfigure 0,1 -window createWindow

如何在OK按钮周围创建红色边框。我想让它在全细胞中扩展。像这样的东西 enter image description here

按钮不是必需的。需要红色边框来突出显示单元格中的错误。

1 个答案:

答案 0 :(得分:0)

最简单的方法是将按钮(或任何包含所需的小部件)放在frame小部件中,然后粘贴到单元格的墙上。然后通过将框架配置为-highlightthickness 1 -highlightbackground red -highlightcolor red使框架显示红色边框,这将在框架上放置一个稳定的红色1像素宽边框(框架默认为具有隐形焦点高光环,但我们重新调整它在这里;您不能使用-relief solid标准边框,因为它们使用固定颜色)。您可能还需要调整包含的小部件上的填充。

认为通过指定-stretchwindow 1作为cellconfigure选项的选项,您可以在其tablelist单元格中展开小部件,但我还没有尝试过。 (documentation以一种奇怪的方式对此略有不明确;如果您在使用它时遇到问题,可能需要询问表列表的作者。)