在 tcl 中启用来自 canvas 的文本复制
Enable text copy from canvas in tcl
我想启用对 canvas 上的文本的复制。有可能这样做吗?
我使用以下方式放置文本:
.c.canvasName create text 100 90 $var -font {Courier -12} ...
其中 var 包含一个 tcl tk 矩阵。
正如 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
取消选择。
我想启用对 canvas 上的文本的复制。有可能这样做吗? 我使用以下方式放置文本:
.c.canvasName create text 100 90 $var -font {Courier -12} ...
其中 var 包含一个 tcl tk 矩阵。
正如 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
取消选择。