我有一个程序,在你点击一个动作按钮后,它会运行一个很长的过程.当进程正在运行时,根窗口会说它没有响应,即使我知道程序正在后台运行.这个程序将发布给我的几个同事,我想确保他们看到这个时不会惊慌失措,并关闭窗口.我的解决办法是坐在树根上.正在运行的流程的循环中进行更新,但我不确定这是否是最佳修复方案.
使用python 3.3
下面是一个代码示例,让您了解我在做什么,这是从主循环调用的:
def combine(boxes_to, boxes_from, frame):
to_value,to_pos = gui.checkBoxes(boxes_to)
from_value,from_pos = gui.checkBoxes(boxes_from)
frame.destroy()
running = Label(root,text="Running please do not close..",font = (16))
running.pack()
root.update()
map_to = open("map_to",'r')
for line in map_to:
root.update()
process(line)
running.destroy()
map_to.close()
finish = Button(root, text="Done",command=gui.stop)
finish.pack()