저는 tkinter를 처음 접했지만, 나는 원하는 곳까지 작업을하고 있습니다. 제대로 설정했는지 모르겠지만 오른쪽에 버튼이있는 세계지도가 있고 왼쪽에 이벤트 로그가 있습니다. 왼쪽에는 이벤트가 발생하면서 레이블로 채워집니다. 문제는 잠시 후 전체 로그가 가득 차는 것입니다. 모든 라벨을 삭제하거나 매번 가장 오래된 라벨을 삭제하는 가장 좋은 방법은 무엇입니까?tkinter 창에서 모든 라벨 지우기
여기에 정의 : 여기 내 말은 무엇
root=Tk()
Map=PhotoImage(file="C:/Users/Willam/Desktop/CWProgram/map2.gif")
background=Label(root,image=Map).place(x=100,y=0,relwidth=1,relheight=1)
Title=Label(root,text=' LOG').pack(anchor=NW)
그리고 나는이처럼 내 레이블을 만들 :
info=Label(root,text='Select a sector to move units from',wraplength=170)
info.pack(anchor=NW)
내가 평소
info.destoy()
및
info.forget()
하지만, 이러한 시도 해당 함수에서 사용 된 마지막 레이블에서만 작동합니다. 모든 레이블 또는 다른 항목을 그룹화해야합니까? '당신에게
foreach label in labels: label.destroy()
당신이 목록을 원하지 않는 경우, 그리고 : 바로 다음
tmp = Label(...)
labels.append(tmp)
:
'var = Widget(). pack()''widget()'이 아니라'pack()'에 의해 리턴 된'var' 값을 사용하려고합니다. 'var = Widget()'과'var.pack()'두 단계가 필요합니다. 'place()'(미래에 사용한다면'grid()'와 동일). – furas
레이블을 목록에 추가하는 것이 좋습니다. 따라서 가장 오래된 것들을 쉽게 죽일 수 있습니다. –
[Tkinter : AttributeError : NoneType 객체에 중복 속성이 없습니다.] (http://stackoverflow.com/questions/1101750/tkinter-attributeerror-nonetype-object-has-no-attribute-get) – Lafexlos