사용자를 제한하기 위해 Tk Text widget에 대한 바인딩을 만들려고합니다. 줄의 첫 번째 문자를 삭제할 수 없습니다.이 문자는 터미널에서와 같이 프롬프트의 일종으로 사용됩니다.텍스트 위젯 색인으로 비정상적으로 작동합니까? (Tcl/Tk)
그것은하지만 어떤 이유로, 사용자는 라인의 첫 번째 문자를 삭제를 허용하지 않습니다 측면에서 작동bind .text <BackSpace> {
if{[.text index insert] == [.text index {insert linestart+1c}]} {
break;
}
}
, 그것은 또한 삭제에서 사용자를 중지합니다)
여기내가 거의이 달성하고있어 방법 라인의 아홉 번째 문자뿐! 예를 들어 : 그 줄의 끝에서 지금 백 스페이스를 누르면
>hello world!
은 삭제합니다
헬로 법과까지
후 그만! 'r'다음에 오는 문자로 이동하여 삭제를 계속하려면 왼쪽 화살표를 누른 다음, 당연히 당근을 삭제하지 않아도됩니다. 왜 이런 일이 일어나야하는지 알지 못합니다. 누군가 내 실수를 지적하거나 내가 원하는 것을 성취 할 수있는 더 좋은 방법을 알릴 수 있다면 좋을 것입니다.
감사합니다. 나는 ==의 내부 메커니즘과 색인 생성이 어떻게 작동하는지 이해하지 못했습니다. 당신은 많은 도움이되었습니다. – Grandclosing