资源简介

qt 多线程 防止主线程做循环操作导致界面假死。试过多线程的几种方法,只有这个方法可行。代码亲测可行。在子线程死循环,界面正常不死!!!

资源截图

代码片段和文件信息

#include “dialog.h“
#include “ui_dialog.h“
#include
#include
#include

bool stop=false;
QThread t;


Dialog::Dialog(QWidget *parent) :
    QDialog(parent)
    ui(new Ui::Dialog)
{
    ui->setupUi(this);
}

Dialog::~Dialog()
{
    delete ui;
}



Worker::Worker()
{
}

void Worker::dowork()
{
    stop=false;
   while(!stop)
   {
   time_t start=clock();
   qDebug()<<“Worker::onTimeout get called from?: “<   time_t end=clock();
   qDebug()<<(double)(end-start)/CLOCKS_PER_SEC;
   //Sleep(100000);
   }

}


void Dialog::on_Btn_Start_d_clicked()
{
    qDebug()<<“From main thread: “<

    Worker work;
   //Qobject::connect(&timer SIGNAL(timeout()) &work SLOT(dowork()));
   // timer.start(0);
    work.moveToThread(&t);
    Qobject::connect(&tSIGNAL(started())&workSLOT(dowork()));
    t.start();
    //exec();

    //t.quit();
   // t.wait();
    //work.stop=true;
    //qDebug()<<“thread stop“;
     this->exec();
}

void Dialog::on_Btn_Stop_d_clicked()
{
    stop=true;
    t.quit();
    t.wait();
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-06-14 10:53  multithreading\
     文件          48  2018-06-14 10:53  multithreading\readme.txt
     目录           0  2018-06-14 10:18  multithreading\test2\
     文件        1163  2018-05-22 11:47  multithreading\test2\dialog.cpp
     文件         477  2018-05-22 11:33  multithreading\test2\dialog.h
     文件         980  2018-05-22 11:33  multithreading\test2\dialog.ui
     文件         208  2018-05-22 11:32  multithreading\test2\dialog2.cpp
     文件         281  2018-05-22 11:32  multithreading\test2\dialog2.h
     文件        1542  2018-05-22 11:32  multithreading\test2\dialog2.ui
     文件         207  2018-05-22 11:21  multithreading\test2\main.cpp
     文件         550  2018-05-22 11:36  multithreading\test2\mainwindow.cpp
     文件         491  2018-05-22 11:36  multithreading\test2\mainwindow.h
     文件        1609  2018-05-22 11:00  multithreading\test2\mainwindow.ui
     文件        1224  2018-05-22 11:32  multithreading\test2\test2.pro
     文件       23887  2018-06-14 10:18  multithreading\test2\test2.pro.user

评论

共有 条评论