У меня есть главное окно, которое создает окно настройки (определяемое как окно верхнего уровня) как окно ожидания_ через эту строку кода:
main.wait_window( Setup_Panel.setup_panel(main) )
Это окно настройки имеет метод для записи своих переменных втекстовый файл, однако, если переменные входного файла или выходного каталога пустые, я вызываю всплывающее окно с предупреждением в качестве окна ожидания_ окна настройки, которое также определяется как окно верхнего уровня.Метод заключается в следующем:
def write_to_directory_file(main):
main.execute_command = True
if (main.input_directory_location.get().strip() == ""):
main.wait_window( Error_Box.WarningPopup(main, "Input File Missing") )
elif (main.output_directory_location.get().strip() == ""):
main.wait_window( Error_Box.WarningPopup(main, "Output Directory Missing") )
if execute_command:
directory_file = open("plink.dir", 'w')
directory_file.write("input_file: " + main.input_directory_location.get() + "\n")
directory_file.write("output_directory: " + main.output_directory_location.get() + "\n")
directory_file.write("output_file: " + main.output_file_name.get() + "\n")
directory_file.write("hom_name: " + main.HOM_name.get() + "\n")
enable_parent_window(main.parent_main)
main.destroy()
print "FLAG"
Во всплывающем окне с предупреждением выдается сообщение, и две кнопки - «Продолжить», а другая - «Отмена».Если вы нажмете кнопку «Отмена», всплывающее окно с предупреждением будет уничтожено и для main.execute_command установлено значение False, чтобы метод не продолжался.Если вы нажмете продолжить, он должен уничтожить всплывающее окно и установить для main.execute_command значение true, чтобы метод все равно продолжал и записывал в каталог.Моя проблема в том, что, когда всплывающее окно с предупреждением уничтожено, оно не сразу возвращается к методу.Скорее, он не вернется к этой точке и не напечатает «FLAG», пока окно установки также не будет уничтожено.
Как бы я закодировал его так, чтобы он возобновлял метод сразу после того, как всплывающее предупреждение было уничтожено, а нечем после того, как я уничтожу окно предупреждения и окно настройки?Единственное окно, которое вызывает .mainloop (), является окном главной панели.
Основная панель определяется как: main = Tkinter.Tk () и вызывает main.mainloop ()
Панель настройки определяется как: setup_main = Tkinter.Toplevel ()
Всплывающее предупреждение определяется как: warning_main = Tkinter.Toplevel ()
Любая помощь в выяснении этого будет принята, спасибо!