Python + PyQt程序冻结

-1 投票
1 回答
879 浏览
提问于 2025-04-15 22:08

我写了一个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 这个属性被设置为“假”。

撰写回答