我在一个漫长而复杂的脚本中发现了这个问题,但是在调试时将其剥离到这个非常小的形式,这仍然会导致同样的问题:
from PyQt5.QtWidgets import(QMainWindow)
class Window(QMainWindow):
pass
当我通过IDLE解释器导入此类时,请尝试使用
实例化该类w = Window()
shell使用" ========== RESTART重新启动:Shell ==========="消息。
这些事情解决了这个问题:
重写代码,使Window类没有超类:
from PyQt5.QtWidgets import(QMainWindow)
class Window:
pass
如果文件有"如果名称 ==' main':"则双击IDLE以外的代码。有条件的添加
这些事情不解决问题:
关键是,当我回去尝试从旧脚本中导入/实例化类似的子类,这些脚在过去工作得很好并且有一段时间没有被触及,它们现在表现出完全相同的问题。
所以,据我所知,我有一个特定于IDLE的问题,它在尝试实例化任何子类时崩溃/重新启动解释器,并且在它之前不存在的地方自发地出现。
以前有人见过这样的事吗?
答案 0 :(得分:0)
感谢您的帮助 - 据我所知,事实上tkinter和Qt之间存在冲突。重新安装我的Python环境似乎已经解决了这个问题!