2015-08-26 8 views
10

Я использую следующий фрагмент кода, чтобы открыть диалоговое окно выбора файла. Он открывает диалог отлично, но после выбора файла диалоговое окно остается открытым на время выполнения остальной части моего кода, что составляет 3-4 минуты. Я думал, что root.destroy() закроет диалоговое окно открытого файла, как будто он закрывает другие окна Tkinter, но это, похоже, не так.Tkinter askopenfilename() не будет закрыт

from tkinter import * 
from tkinter.filedialog import askopenfilename 

root = Tk() 
root.withdraw() 
file_path = askopenfilename() 
root.destroy() 

Как я могу открыть диалоговое окно открытого файла после того, как файл будет выбран? Я использую версию 3.4.3 на OSX 10,10

+0

прекрасно работает на Windows 7, Python 2.7 – VRage

+0

Забудьте корень окно и хотите вернуться? 'root.withdraw()' вы теряете корневое окно, не можете вернуться! – dsgdfg

+0

@SDilmac 'root.deiconify()', чтобы вернуть его – maccartm

ответ

9

Ради закрываю этот вопрос, вот ответ:

root.update() вызовов перед тем askopenfilename()

+0

Просто хотел добавить это для меня, на OSX и python2, вызывая 'root.update()' _after_ 'askopenfilename()' работает. – Plasma

Смежные вопросы