【QT】发生的运行时错误汇总

2024-01-03 17:50:34

1 、QObject::startTimer: Timers cannot be started from another thread

错误原因:QObject是可重入的,它的大多数非GUI子类,例如QTimer, QTcpSocket, QUdpSocket and QProcess都是可重入的,使得这些类可以同时用于多线程。需要注意的是,这些类设计为从一个单一的线程创建和使用的,在一个线程创建对象,而从另外一个线程调用对象的函数并不能保证行得通。

本例中成员变量QTimer是在主线程创建对象时创建的,但是是在run函数中调用,run函数运行在另一个线程中,所以提示错误。

2 、Qt 错误:The inferior stopped because it received a signal from the Operating System

运行的时候会崩溃,并提示如下错误:

Signal received

The inferior stopped because it received a signal from the Operating System.

Signal name : SIGSEGV

Signal meaning : Segmentation fault

这个错误说明程序中有野指针,断点以下很容易找出错误。

3 、Qt多线程[QMessageBox]Cannot set parent, new parent is in a different thread以及connect注意事项

多线程不允许操作UI!!!
我的进度条更新 应该通过信号值发送
另一博主的讲解

文章来源:https://blog.csdn.net/weixin_44939430/article/details/135368537
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。