我正在尝试为 Tk Text 小部件创建绑定以限制用户,因此他/她不能删除行中的第一个字符(该字符用作终端中的一种提示。)
这就是我几乎要做到这一点的方式:
bind .text <BackSpace> {
if{[.text index insert] == [.text index {insert linestart+1c}]} {
break;
}
}
它的工作原理是不让用户删除该行中的第一个字符,但无论出于何种原因,它也阻止用户删除该行中的第九个字符!例如:
>hello world!
现在从该行的末尾按退格键将删除直到
你好
然后停下来!我可以按向左箭头移动到“r”之后的下一个字符并继续删除,然后它应该不会删除胡萝卜。我看不出为什么会发生这种情况。如果有人可以指出我的错误或让我知道实现我想要的更好的方法,那就太好了。