1

我制作了一个类似于 MS Paint 的程序,您可以创建具有各种颜色和线宽的绘画,以及保存和加载文件。每隔一段时间我就会使用该程序,当终端反复吐出错误读数时,我会遇到一个问题:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Python37-32\lib\tkinter\__init__.py", line 332, in __del__
    if self._tk.getboolean(self._tk.call("info", "exists", self._name)):
RuntimeError: main thread is not in main loop
Exception ignored in: <function Variable.__del__ at 0x0D7CF4F8>

这大约每半秒吐一次,持续 10 秒,直到 pygame 窗口突然关闭,我得到一个最终错误,读取“Tcl_AsyncDelete:异步处理程序被错误的线程删除”。

我怀疑这与 PySimpleGui 有关,因为重复错误是 tkinter Traceback(PySimpleGui 是基于 tkinter 构建的),但除此之外,我不知道程序的哪个部分可能导致问题。

我会在这里显示一些代码,但我无法确定要显示的特定位置。如果有人有任何建议,我一定会使用他们的建议来寻找要展示的地方 - 当没有打开 GUI 窗口时会发生错误 - 只是用于绘图的基本 pygame 窗口。

如果有人对如何解决此问题或在哪里寻求进一步帮助有任何建议,我们将不胜感激。

提前致谢!

4

1 回答 1

1

您可以在关闭窗口后使用 del 删除它:

#Open window, display, etc.
window.close()
del window

这应该可以解决问题。

于 2019-10-26T15:19:28.680 回答