QThread: Destroyed while thread is still running解决办法

这是由于线程未执行完毕,但提前关闭引起的,常规结束线程的步骤为:

(1)disconect(.........) ;  //关闭所有与该进程对象关联的信号和槽
(2)thread->quit();
(3)thread->wait();
(4)thread->deleteLater();

实际测试,只用(2)(3)也行。

时间: 2024-11-05 12:17:22

QThread: Destroyed while thread is still running解决办法的相关文章

Qt5线程错误:QThread: Destroyed while thread is still running(执行runThread->exit(0))

背景: 当前类,编写接收子线程类信号的槽函数和触发子线程类执行的信号: 新建一个子线程类,编写槽函数和信号,MyClass *m_MyClass=new MyClass(): 新建一个线程对象QThread *runThread=new QThread(); 使用connect连接当前类与子线程的信号槽,以便触发线程及接收线程执行结果: 使用m_MyClass.moveToThread(runThread),将子线程类移到线程中执行: runThread->start(),开启线程. **在当前

QThread: Destroyed while thread is still running

Qt5已经分装了函数 void QThread::requestInterruption() { Q_D(QThread); QMutexLocker locker(&d->mutex); if (!d->running || d->finished || d->isInFinish) return; if (this == QCoreApplicationPrivate::theMainThread) { qWarning("QThread::requestIn

关于Wireshark "The NPF driver isn’t running……"解决办法

启动Wireshark软件时出现了如下图所示的错误,就搜索了一下解决方法,特总结如下: 这个错误是因为没有开启NPF服务造成的.简要说一下NPF吧. NPF即网 络数据包过滤器(Netgroup Packet Filter,NPF)是Winpcap的核心部分,它是Winpcap完成困难工作的组件.它处理网络上传输的数据包,并且对用户级提供可捕获 (capture).发送(injection)和分析性能(analysis capabilities). 它不仅提供了基本的特性(例如抓包),还有更高级

android studio运行时报错AVD Nexus_5X_API_P is already running解决办法

运行刚搭建好的Android环境时会报这种错误: AVD Nexus_5X_API_P is already running. If that is not the case, delete the files at    C:\Users\DELL\.android\avd/Nexus_5X_API_P.avd/*.lock and try again. 大概意思是“你的虚拟机已经在运行中,如果想继续的话,你得删除这个目录下的锁定文件夹“ 其实这个报错是有问题的 因为虚拟机刚搭建好的时候默认会

zabbix server is not running解决办法

在安装Zabbix后,发现一直提示zabbix server is not running这个报错, 首先查看Zabbix的日志,tail /tmp/zabbix_server.log,发现一直提示以下报错 肯定是没有数据库的访问权限了,加上权限就OK了

遇到java.lang.IllegalThreadStateException: Thread already started. 错误的解决办法

通过单击事件开启线程时,再次单击就会出现 java.lang.IllegalThreadStateException: Thread already started. 错误 解决办法: 创建一个Runnable: Runnable DownloadRunnable = new Runnable() { @Override public void run() { //需要处理操作} 然后每次需要调用的时候会重新new一个Thread: new Thread(DownloadRunnable).st

关于子线程使用Toast报错Can't create handler inside thread that has not called Looper.prepare()的解决办法

形同如下代码,在Thread中调用Toast显示错误信息: new Thread(new Runnable(){ @Override public void run() { try{ weatherData = getWeatherData(strUrl); parseJson(weatherData); }catch(Exception e){ Toast.makeText(WindowApplication.getAppContext(), e.toString(), Toast.LENGT

Android 运行时报错Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled. 的解决办法

解决方法:在菜单栏,Tools->Android->Enable ADB integration勾选就可以了. Android 运行时报错Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled. 的解决办法

mac上运行appium提示错误Encountered internal error running command 解决办法

[debug] [iOS] App is not installed. Will try to install. [MJSONWP] Encountered internal error running command: Error: Installing /var/folders/hb/5xtrkgp16bj3rctx9kxg64t00000gn/T/2016913-9705- 1ugvtlc/Payload/Input.app failed at /Applications/Appium.a