当前位置: 首页 > news >正文

易语言 做网站黑龙江建设教育信息网官网

易语言 做网站,黑龙江建设教育信息网官网,成都装修公司联系电话,asp网站管理系统破解版上文列举了qt中线程的几种方法#xff0c;其中2种方法最为常见。 这两种方法都少不了QThread类#xff0c;前者继承于QThread类#xff0c;后者复合QThread类。 本文以实例的方式描述了movetothread#xff08;#xff09;这种线程的方法#xff0c;将QObject的子类移动…上文列举了qt中线程的几种方法其中2种方法最为常见。 这两种方法都少不了QThread类前者继承于QThread类后者复合QThread类。 本文以实例的方式描述了movetothread这种线程的方法将QObject的子类移动到指定的线程。 一、例子 1. Worker类 1.1Worker类头文件 #ifndef WORKER_H #define WORKER_H #include QObject #includeQDebug#include QThread class Worker : public QObject   {     Q_OBJECT public:     explicit Worker(QObject *parent nullptr); public slots: void doWork(const QString parameter); signals:     void resultReady(const QString result); }; #endif // WORKER_H1.2 Worker类cpp文件 #include worker.h Worker::Worker(QObject *parent)     : QObject{parent} {}void Worker::doWork(const QString parameter) {     // 在这里写入你的线程代码     qDebug() Thread2 is running;     qDebug() parameter;//收到的参数     //一个简单的循环     for (int i 0; i 5; i)     {         QThread::msleep(500); ; // 休眠1秒         qDebug() !!!;     }     qDebug() end2;     emit resultReady();//发结果 } 2.Controller类 2.1Controller类头文件 #ifndef CONTROLLER_H #define CONTROLLER_H #include QObject #include worker.h#include QThread class Controller : public QObject {     Q_OBJECT public:     explicit Controller(QObject *parent nullptr);     QThread workerThread;//复合了QThread类 signals:     void operate(const QString parameter); public slots:     void handleResult(const QString str); }; #endif // CONTROLLER_H 2.2Controller类cpp文件 #include controller.h Controller::Controller(QObject *parent)     : QObject{parent} {     Worker *worker new Worker;     worker-moveToThread(workerThread);     connect(this, Controller::operate, worker, Worker::doWork);     connect(worker, Worker::resultReady, this,Controller::handleResult);     connect(workerThread, QThread::finished, worker, QObject::deleteLater);     workerThread.start(); } void Controller::handleResult(const QString str) {     qDebug()str;//取结果 }   3.在窗口类的按钮函数里放入 void MainWindow::on_pushButton_xxx_clicked()//你自己的按钮函数 {     Controller *controller new Controller();     controller-operate(parameter); } 二、优缺点 优点克服了重写run的缺点比较灵活简洁 缺点但是不能在线程里面实现常驻任务(死循环的任务)。 轻量级的函数可以用movethread无需创建独立线程类例如你有多个小函数要在线程内做, 全部扔给一个QThread。还有一开始没使用线程但是后边发觉这些代码还是放线程比较好如果用子类化QThread的方法重新设计代码将会有可能让你把这一段推到重来这个时候moveThread的好处就来了你可以把这段代码的从属着movetothread把代码移到槽函数用信号触发它就行了。
http://www.hkea.cn/news/14382871/

相关文章:

  • 个人建站如何赚钱可以做微课ppt模板 网站有哪些
  • 网站认证主体怎么安装的wordpress主题
  • 墙蛙网站谁家做的建立什么样的网站赚钱
  • 网站横幅怎做服务器上的网站打不开
  • 北京网站设计与网站制作国内最厉害的公关团队
  • 网站建设全包设计wordpress主题排行榜
  • 成都彩蝶花卉网站建设案例龙岗建设网站制作
  • 网站模版的优化公司做个网站
  • 自己做的网站 能收索么vs2010网站开发教程
  • 福建省网站建设成都网站设计得多少钱
  • 图片直链在线生成网站法拍重庆网站
  • 达州大亚网站建设网站建设佰金手指科杰十一
  • 自动化优化系统网站建设网站维护机构
  • 给公司做门户网站南宁网站建设建站系统
  • 做很多网站海南省建设注册中心网站
  • 深圳网站建设民治大道wordpress英文仿站教程
  • 江阴网站网站建设淘宝做网站推广人电话
  • wordpress 站群插件在dw上做网站首页导航栏
  • 网站建设上市wordpress模块化布局
  • 网站安全建设总结留言板 wordpress
  • 如何做好网站推广优化免费网站怎么做出来的
  • 行业网站做不下去wordpress做淘宝客可以加入api
  • 北京网站关键词优化推荐学做投资网站
  • 淄博网站营销与推广国示范校建设网站
  • 横沥镇做网站网站功能设计指什么
  • 江苏省住房和城乡建设局网站首页手机商城模板
  • 一家只做外卖的网站王占山
  • 义乌有什么网络公司鄂州seo
  • 做自行车车队网站的名字大全唐山医疗网站建设
  • 网站布局模板备案新增网站备案