qt线程如何接收linux信号,Linux
---恢复内容开始---
摘要
Qt帮助文档中是这样介绍的:
bool QThread::isRunning () constReturnstrue if the thread is running; otherwise returns false.
See also isFinished().
解释的一本正经,使用却不然。
问题:
使用QThread::isRunning标志量判断线程是否关闭时,判断出错,线程明明关闭,isRunning仍然显示true
解决方式:
使用isRunning和isFinished双标志量判断
程序说明:
界面程序(Display_PlayBack)负责显示数据,数据库读取线程(Thread_PlayBack)负责一直读取数据库。
界面程序创建的数据库线程,也负责回收其空间。
程序中的代码:
Thread_PlayBack.cpp
void Thread_PlayBack::run()//一直读取数据库数据入缓存
{
int rowNum,columnNum,fieldNo_longitude,fieldNo_latitude;
double x,y,scale;
SqlData data;
QString str = QString::fromUtf8("SELECT 经度,纬度 FROM HT_12 WHERE (航向!=0 or 航速!=0"\
" or 航程!=0 or 距离!=0) and ( 总电压!=0 or 总电流
qt线程如何接收linux信号,Linux
---恢复内容开始---
摘要
Qt帮助文档中是这样介绍的:
bool QThread::isRunning () constReturnstrue if the thread is running; otherwise returns false.
See also isFinished().
解释的一本正经,使用却不然。
问题:
使用QThread::isRunning标志量判断线程是否关闭时,判断出错,线程明明关闭,isRunning仍然显示true
解决方式:
使用isRunning和isFinished双标志量判断
程序说明:
界面程序(Display_PlayBack)负责显示数据,数据库读取线程(Thread_PlayBack)负责一直读取数据库。
界面程序创建的数据库线程,也负责回收其空间。
程序中的代码:
Thread_PlayBack.cpp
void Thread_PlayBack::run()//一直读取数据库数据入缓存
{
int rowNum,columnNum,fieldNo_longitude,fieldNo_latitude;
double x,y,scale;
SqlData data;
QString str = QString::fromUtf8("SELECT 经度,纬度 FROM HT_12 WHERE (航向!=0 or 航速!=0"\
" or 航程!=0 or 距离!=0) and ( 总电压!=0 or 总电流