#python #tkinter #pyinstaller #try-except
#python #tkinter #pyinstaller #try-except
Вопрос:
Я закодировал это в своем скрипте для выполнения скрипта. Когда окно Tkinter закрыто, оно возвращает ошибку и закрывает все окна, но когда я компилирую это с помощью pyinstaller, оно возвращает мне фатальную ошибку!
while True:
script()
try:
root.update()
except TclError:
break
exit()
Могу ли я это исправить?
Комментарии:
1. Пожалуйста, предоставьте полную обратную трассировку
2. Если это приведет к ошибке с вашим файлом py, это также приведет к ошибке с вашим exe, фатальная ошибка просто означает обычную ошибку python, которая может возникнуть. Пожалуйста, исправьте отступ и в этом коде
Ответ №1:
Я столкнулся с той же ошибкой, потому что, когда пользователь закрывает окно Tkinter, а код все еще выполняется и пытается обновить переменные или экран Tkinter.
вы можете исправить это, назначив функцию закрытия для окна Tkinter, и когда пользователь нажимает на нее, вы можете остановить выполнение python.
def close():
'''Close UI and Python while UI Closed'''
root.withdraw()#Close Tkinter window
os._exit(0)#Forecefully quit PY
root = Tk()
root.protocol("WM_DELETE_WINDOW", close) #Calling close,if user clicks window close.
Комментарии:
1. Но когда я пытаюсь использовать модуль протокола, программа выдает ошибку
2. Как? Я выполняю это с помощью cmd? Потому что в python или при компиляции он не отображает никаких ошибок
3. Откройте cmd и перейдите в папку, введите имя скрипта и введите