问题是我的无知。鼠标左键工作正常,给我右行和列,当前光标位置
但是我想完全避免鼠标,只使用键。不幸的是,无论我怎么做,我都不能得到正确的直线列。有人能解释一下吗?我只想对键做一些事情,并且在每个阶段都知道光标在哪里。由于
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}}