Tk Text ウィジェットのバインディングを作成して、ユーザーを制限して、行の最初の文字を削除できないようにしようとしています (文字は、ターミナルのような一種のプロンプトとして機能します)。
私がこれをほぼ達成している方法は次のとおりです。
bind .text <BackSpace> {
if{[.text index insert] == [.text index {insert linestart+1c}]} {
break;
}
}
ユーザーが行の最初の文字を削除できないようにするという点で機能しますが、何らかの理由で、ユーザーが行の9番目の文字を削除することもできなくなります! 例えば:
>hello world!
その行の終わりから今バックスペースを押すと、まで削除されます
こんにちは
そしてストップ!左矢印を押して「r」の後の次の文字に移動し、削除を続けると、ニンジンが削除されません。これが起こるべき理由はわかりません。誰かが私の間違いを指摘するか、私が望むものを達成するためのより良い方法を教えてくれたら、それは素晴らしいことです.