가능한 중복 :
How can I monitor Tkinter buttons when Python is busy?내 Tkinter GUI가 응답하지 않는 이유는 무엇입니까?
I가 나는 버튼을 누르고 함수 executed.Here 때 응답하지 wrote.It의 Tkinter GUI 코드에 대한 문제가이 예시적인 코드
from Tkinter import*
import Tkinter as tk
import tkFileDialog
import urllib
import urllib2
list1 =["urls of video files"]
def run():
for links1 in list1:
text1.insert(str(list1.index(links1)+1)+'.end', 'video_'+str(list1.index(links1)+1)+'.mp4'+'.........Downloading')
text1.update()#Update text widget
urllib.urlretrieve(links1.split('\">')[0],'video_'+str(list1.index(links1)+1)+'.mp4')
text1.insert(str(list1.index(links1)+1)+'.end','.....Finished\n')
text1.yview(END)
text1.insert(END,'>>All files have been downloaded.Enjoy ! ! !\n')
#Window Title
app=Tk()
app.title("Title")
app.geometry('700x400+200+200')
app.resizable(0,0)
button=Button(app,text="Press me",font=("Times", 12, "bold"),width=20,borderwidth=5,command=run)
button.pack(padx=5,pady=8)
frame1 = Frame(app, width=600, height=200)
xframe1 = Frame(frame1, relief=RAISED, borderwidth=5)
text1 = Text(frame1,height = 3,font=("Times", 12))
text1.insert(END,"")
text1.pack(side=LEFT,fill=Y)
s_start = Scrollbar(frame1)
s_start.pack(side=RIGHT,fill=Y)
s_start.config(command=text1.yview)
text1 .config(yscrollcommand=s_start.set)
Label(frame1, text='').place(relx=1.06, rely=0.125,anchor=CENTER)
frame1.pack()
app.mainloop()
안녕하세요, 조금 더 설명해 주실 수 있습니까? 루프는 무엇이고 이벤트 루프는 무엇입니까? 고마워요. – GiannisIordanou
@evil_inside : 답변을 업데이트했습니다. –
그래서 update_idletasks가 내 text.update()를 대체해야합니까? – GiannisIordanou