アクションボタンをクリックすると、長いプロセスを実行するプログラムがあります。プロセスが実行されているので、プログラムがバックグラウンドで実行されていることがわかっていても、ルートウィンドウは応答していないと言います。このプログラムは、私が働く数人の人にリリースされる予定です。私は、彼らがこれを見て窓を閉め切らないようにしたいと思っています。私が持っている解決策は、実行中のプロセスのループにroot.updateを置いていますが、これが最善の解決策であるかどうかはわかりません。あなたが根を呼び出すことができますがTkinterウィンドウは応答していませんが、コードが実行されています
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()
別のスレッドでバックグラウンドプロセスを実行する必要があります。あなたのシングルスレッドプログラムは、一度に一つのことしかできません。あなたの長時間実行されているプロセスが実行されているとき、UIは追いつくことができません。 – korylprince