окно master
делает открытым только после закрытия диалогового файла (попробуйте изменить его название, чтобы проверить), то первое окно, которое вы видите, является родительским окном диалога файлов. Действительно, диалоги файлов tkinter - это расширенные окна, поэтому они не могут существовать без родительского окна. Итак, первое окно, которое вы видите, является родительским окном диалогового окна файла.
Родительское окно, однако, может быть скрыт с помощью метода withdraw
, а затем восстановлен с deiconify
:
from tkinter import Tk
from tkinter.filedialog import askopenfilename
def main():
master = Tk()
master.withdraw() # hide window
my_file = askopenfilename(parent=master)
master.deiconify() # show window
master.mainloop()
if __name__ == '__main__':
main()