quit 异步离开 线程槽


调用 quit() 会退出所有相关事件并释放资源,最后离开 QThread 线程。

由于 quit() 不是立即终止 QThread 线程,所以工作是异步的,且更安全、更可控。

  1. 异常警告

  2. 当 QThread 线程实例 self.threadObject 先调用 quit() 离开槽, 再使用 self.threadObject.deleteLater() 稍后删除公共槽、del self.threadObject 形式语句、或 delattr(self, "threadObject") 内置函数,删除线程实例。

    若之后仍有此 QThread 线程实例 self.threadObject 的相关操作 (包括自动垃圾回收),在后台就可能输出以下警告提示 (甚至导致应用程序崩溃):

    QThread: Destroyed while thread is still running
    						

    相比 terminate() 立即终止 QThread 线程,虽然存在以上现象,但 quit() 异步、安全离开线程更可控。

另请参阅:

PySide6 QThread 使用技巧

版权声明: 本文为独家原创稿件,版权归 乐数软件 ,未经许可不得转载。

内容表

  1. 异常警告

上一话题

QThread 用法

下一话题

terminate 槽

快速搜索