【问题标题】:Python return fatal error with try except when compiling in pyinstallerPython 尝试返回致命错误,除非在 pyinstaller 中编译
【发布时间】:2021-01-26 16:40:06
【问题描述】:

我在脚本中对此进行了编码以执行脚本。 当 Tkinter 窗口关闭时,它返回错误并关闭所有窗口,但是当我使用 pyinstaller 编译它时,它返回一个致命错误!

while True:
   script()
   try:
        root.update()
   except TclError:
        break
exit()

我可以解决它吗?

【问题讨论】:

  • 请提供完整的追溯
  • 如果这会给你的py文件一个错误,它也会给你的exe一个错误,致命错误只是意味着会发生一个正常的python错误。请也修复此代码的缩进

标签: python tkinter pyinstaller try-except


【解决方案1】:

我遇到了同样的错误,这是因为当用户关闭 Tkinter 窗口时,代码仍在运行并尝试更新 Tkinter 变量或屏幕。

您可以通过为 Tkinter Window 分配一个关闭函数来解决此问题,当用户单击它时,您可以停止 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.

【讨论】:

  • 但是当我尝试使用协议模块时,程序会出错
  • 怎么样?我用cmd执行它?因为在 python 中或者在编译中它不会显示任何错误
  • 打开cmd进入文件夹并输入脚本名称并输入
猜你喜欢
  • 1970-01-01
  • 2012-07-15
  • 1970-01-01
  • 2016-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多