在TCL/Tk tablelist单元格中格式化字符串的部分

在TCL/Tk tablelist单元格中格式化字符串的部分,tcl,string-formatting,tk,Tcl,String Formatting,Tk,我想知道在使用(示例)时是否可以格式化文本字符串的一部分 指挥部 我确实知道-font选项,但这会设置整个单元格的字体。我能把字符串的不同部分格式化成不同的格式吗?我认为你不容易做到。现在来看,我看不到任何指示单元格文本内容的索引范围的方法(为了对其应用呈现变体,需要使用这些索引范围)。我想您可以通过嵌入一个文本小部件作为单元格的渲染器窗口,使用-window单元格选项来解决这个问题;为了达到这个目的,文本(或ctext)小部件的使用在文章中提到过,因此必须能够以这种方式伪造它,但是您需要弄清楚

我想知道在使用(示例)时是否可以格式化文本字符串的一部分

指挥部


我确实知道-font选项,但这会设置整个单元格的字体。我能把字符串的不同部分格式化成不同的格式吗?

我认为你不容易做到。现在来看,我看不到任何指示单元格文本内容的索引范围的方法(为了对其应用呈现变体,需要使用这些索引范围)。我想您可以通过嵌入一个文本小部件作为单元格的渲染器窗口,使用
-window
单元格选项来解决这个问题;为了达到这个目的,文本(或ctext)小部件的使用在文章中提到过,因此必须能够以这种方式伪造它,但是您需要弄清楚如何正确实现它的细节

显示如何进行窗口嵌入,尽管是使用
框架
按钮
而不是
文本
。您需要做一些工作才能在其中获得一个文本小部件(基本上使其无边界、只读且根本不可滚动)

$tbl cellconfigure $row,$column -window createButton

当然,您需要做更多的工作,以使嵌入式文本小部件呈现为您想要的样子。这可能是它自身特殊的复杂性…

谢谢多纳尔的想法!我以前使用过createButton程序,因此将其应用于文本小部件应该不难。。
proc createButton {tbl row col w} {
    set key [$tbl getkeys $row]
    button $w -image openImg -highlightthickness 0 -takefocus 0 \
        -command [list viewFile $tbl $key]
}
$tbl cellconfigure $row,$column -window createButton