Tkinter를 사용하는 GUI 창을 초기화 한 후 활성 창에서 Tkinter 진행률 막대 도구를 제거하려고합니다. 내 창에 Tkinter Frame을 사용하고 있습니다. 나는 아래와 같이 진행 막대를 pb로 초기화했다.Tkinter in Python - 활성 창에서 위젯 제거
pb = ttk.Progressbar(root,orient ="horizontal",length = 540, mode ="determinate")
그런 다음 두 가지 방법으로 진행률 표시 줄을 제거했습니다. 아래 줄은 GUI가 고정 된 후 GUI를 초기화 한 후 사용하려고하면 응답을 멈 춥니 다.
pb.pack_forget()
아래 줄은 진행률 막대의 중간 부분 만 사라지게하지만 여전히 그 두면을 볼 수 있습니다.
pb.destroy()
초기화 된 I는 프레임 후에 사라이 위젯을 얻을 수있는 방법이 있습니까?
나는'pack_forget()'을 호출하면 윈도우가 멈추는 것을 믿기가 어렵다. 당신은 일하는 프로그램을 가지고 있고 그 한 줄을 넣으면 그 프로그램이 얼어 버린다는 말입니까? 동일한 프레임에서 팩과 격자를 모두 사용 하시겠습니까? –
맞습니다. 문제는 그리드 구성을 사용하고 있다는 것입니다 (실현하지 않고도). 나는 이것을 제거했고, 이제'pack_forget()'은 응용 프로그램을 멈추게하지 않습니다. 그러나'destroy()'를 사용할 때와 같은 버그가 발생합니다 - 진행 막대의 일부가 사라집니다. 사라지는 섹션은 텍스트 아래에있는 텍스트를 포함하는 레이블과 정확히 같은 너비 인 것 같습니다. –
은 실행중인 이벤트 루프입니까? 이벤트 루프가 실행 중이 지 않은 것처럼 "진행 표시 줄의 일부가 사라집니다"라는 메시지가 표시되어 화면 다시 그리기 요청이 받아 들여지지 않습니다. –