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

时间:2018-09-28 12:12:21

标签: tcl string-formatting tk

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

 .tbl   cellconfigure $row,$col -text "ThisBoldArial AndThisAsSubscript"

命令?

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

1 个答案:

答案 0 :(得分:1)

我认为您不容易。看着the documentation,我看不到任何指示单元格文本内容的索引范围的方法(将其应用于呈现变体所需的)。我猜您可以通过使用-window单元格选项将文本小部件嵌入单元格的渲染器窗口来解决此问题; documentation of the -windowupdate cell option的传递中提到了为此目的使用文本(或ctext)小部件的情况,因此必须可以用这种方法进行伪造,但是您需要弄清楚如何实现它的细节。是的。

This example显示了如何使用framebutton而不是text进行窗口嵌入。您需要做一些工作才能在其中获得一个文本小部件(基本上使其成为无边界,只读且根本不可滚动)。

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

自然,您将需要做更多的工作来使嵌入式文本小部件按需要呈现。那可能是它自己的特殊复杂性……