Tkinter에서 텍스트 위젯의 내용을 어떻게 제거 할 수 있습니까? 내 프로그램에서 나는 그것을 실행 로그를 표시하는 데 사용했습니다. 특정 줄 번호 제한이 달성 된 후에 표시하는 줄 수를 제한하려면 이전 내용을 병렬로 제거하고 싶습니다. 아래는 Text Widget에서 컨텐츠 수정을 수행하는 코드 스 니펫입니다. 보시다시피, 25 행을 삽입 한 후에는 "delete"메서드를 사용하여 1 행을 제거합니다. 그러나 이상하게도 25 줄이 표시되면 전체 위젯을 지운 다음이 클래스를 호출 할 때 한 줄을 추가하고 얼마 후에 그것을 제거합니다. 누군가이 문제를 해결하도록 도와 줄 수 있습니까?텍스트 위젯에서 내용 제거
class TextRedirector(object):
def __init__(self, widget, tag="stdout"):
self.widget = widget
self.tag = tag
def write(self, str):
global linecount
linecount = linecount + 1
self.widget.configure(state="normal")
self.widget.insert("end", str, (self.tag,))
self.widget.update()
if linecount > 25:
self.widget.delete('1.0', '2.0')
self.widget.see('end')
self.widget.configure(state="disabled")
"delete"는 정수 인수를 사용해야하지만 아마 나는 미친 듯합니다. – mgilson
@mgilson : Delete는 "line.column"(또는 태그 이름)으로 표시되는 인덱스를 사용합니다. –
@BryanOakley - 저를 청소 해 주셔서 감사합니다. 나는 그 대답이 "mgilson, 너 미쳤다"라고 생각한다. – mgilson