在tcl中从画布启用文本复制

时间:2018-04-23 18:10:55

标签: tcl tk

我想要复制放在画布上的文字。有可能这样做吗? 我使用以下文字放置了文字:

.c.canvasName create text 100 90 $var -font {Courier -12} ...

其中var包含tcl tk矩阵。

1 个答案:

答案 0 :(得分:0)

正如Donal所写,ctext.tcl提供了许多关于如何管理画布中的文本项目的有用提示。

请注意,它不会演示将文本复制到剪贴板。使用以下代码进行基本的剪贴板复制功能:

$c bind text <<Copy>> "textCopy $c"

...

proc textCopy {w} {
    clipboard clear
    clipboard append [selection get]
    selection clear
}

clipboard clear清空Tk剪贴板,clipboard append将新文本复制到其中。在Windows上,您可以使用普通的 Ctrl + V 粘贴此文本。

selection get从当前选择中复制文本,如果未选择任何文本则会引发错误。使用

    catch {clipboard append [selection get]}

抑制此类错误。

selection clear取消选择。