Python + PyQt程序冻结
我写了一个PyQt的应用程序。在它启动后,我关闭了界面,但是定时器没有停止,有时候Python会卡住。唯一能让它恢复正常的方法是按Ctrl-C,这时会出现以下信息:
追踪信息(最近的调用在最前面): 文件 "", 第262行,在timerEvent中 键盘中断
定时器又没有停止,而CPython运行得非常慢。怎么才能解决这个问题呢?
编辑: 我在代码中添加了killTimer(),但情况没有太大改变。CPython依然很慢,有时还会卡住。怎么才能彻底销毁所有的PyQt对象呢?
Mw = TMainWindow()
TimerId = Mw.startTimer(25)
QApp.exec_()
Mw.killTimer(TimerId)
1 个回答
0
在没有更多信息的情况下,这只是个猜测。一个常见的原因是,当你关闭图形界面(GUI)时,应用程序没有退出,这可能是因为 QApplication::quitOnLastWindowClosed
这个属性被设置为“假”。