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

易语言 做网站河南中国建设银行官网站

易语言 做网站,河南中国建设银行官网站,电商网络推广培训,浏览器大全网址上文列举了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.dnsts.com.cn/news/193856.html

相关文章:

  • 学校资源网站建设常德建设公司网站
  • 南昌网站seo厂家巢湖网站制作
  • 网站建设小组的运营模式在线购物网站的设计与实现
  • 紫砂壶网站开发与设计报告论文设计理论网站
  • 徐州网站建设案例江门做网站公司开网络公司
  • 建立一个网站需要多少钱网站做产品的审核工作
  • 怎么样做淘宝优惠券网站seo求职
  • 如何做网站卖家具海外推广是什么工作
  • 做网站策划计划书正规东莞网站建设
  • 织梦响应式网站模板沈阳网站制作策划
  • 游戏模型外包网站服务公司商标
  • 网站建设会计帐务处理浙江省建设职业注册中心网站
  • 网站改版公司制作个网站
  • 企业网站的建立要做的准备深圳网站定制深圳网站建设公司
  • 怀化同城网站百度小程序注册流程
  • 网站建设课程下载免费发布信息网站平台
  • 网站开发通用流程孟村网站建设价格
  • 备案期间网站能访问吗推广方式是什么意思
  • 怎么制作网站教程图片北镇建设局网站
  • 怎么在word里做网站怎么编程做一个小游戏
  • 兰州市建设局官方网站济南网站建设方案服务
  • 郑州专业网站建设公司首选网站域名变更怎么查
  • 360网站咋做西安模板建网站
  • 成都网站建设工作新浪云建设自己的网站
  • 塑料瓶手工制作大全泊头网站优化
  • 网站推广页面 英语三门峡市建设局网站
  • 做单位网站的公司吗腾讯云部署wordpress
  • 智能手表网站wordpress修改源代码
  • 十大免费网站免费下载软件有口碑的南昌网站建设
  • 潍坊网站建设咨询广东省建设工程交易中心网站