Tcl Tk文本小部件跟踪当前行列位置,当你只使用键…而不是鼠标



问题是我的无知。鼠标左键工作正常,给我右行和列,当前光标位置

但是我想完全避免鼠标,只使用键。不幸的是,无论我怎么做,我都不能得到正确的直线列。有人能解释一下吗?我只想对键做一些事情,并且在每个阶段都知道光标在哪里。由于

bind .t <Button-1> {? "wm title . [%W index @%x,%y]"}

就像做梦一样但是这是我想避免使用的鼠标

和这个键,没有给我6.0尽管光标移动到那里像一个好顿。

.t  mark set insert 6.0 
.t insert 6.0 ""
bind .t <KP_Insert>     {wm title . [%W index @%x,%y]}

您想要insert标记的位置(因为这是插入插入符号的位置)…之后的类绑定已经生效。

要尝试的第一件事是在<Key>上放置绑定(即,任何按键),延迟读取位置,以便类绑定有机会采取行动。这样做是因为类绑定在实例绑定之后运行,其中一些可能会执行break以防止全局绑定做错误的事情。

bind .t <Key> {after idle {wm title . [%W index insert]}}

after idle是完美的;这将在实际重绘小部件的同时安排更改。


实际上,我在这里使用帮助过程:

proc retitleAfterKey {txt} {
if {[winfo exists $txt]} {
set top [window toplevel $txt]
wm title $top [$txt index insert]
}
}
bind .t <Key> {after idle {retitleAfterKey %W}}

相关内容

  • 没有找到相关文章

最新更新