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

安吉网站建设dede wap网站

安吉网站建设,dede wap网站,wordpress中文免费模板下载地址,遵义怎样做网站1.概述 QRunnable与外界互通讯是有两种方法的 使用多继承。让我们的自定义线程类同时继承于QRunnable和QObject#xff0c;这样就可以使用信号和槽#xff0c;但是多线程使用比较麻烦#xff0c;特别是继承于自定义的类时#xff0c;容易出现接口混乱#xff0c;所以在项…1.概述 QRunnable与外界互通讯是有两种方法的 使用多继承。让我们的自定义线程类同时继承于QRunnable和QObject这样就可以使用信号和槽但是多线程使用比较麻烦特别是继承于自定义的类时容易出现接口混乱所以在项目中尽量少用多继承。 //使用多继承 class runnable : public QObject, public QRunnable {Q_OBJECT public:explicit runnable (QObject *parent nullptr){setAutoDelete(true);}void run() override{emit sig_finish();} signals:void sig_finish(); };使用QMetaObject::invokeMethod 2.QMetaObject::invokeMethod的介绍 QMetaObject::invokeMethod的创建方法 QMetaObjectinvokeMethodQObject *obj //使用的类const char*member //调用函数名QtConnectionType type//调用类型QGenericReturnArgument ret//用来存储返回值的类型QGenericArgument val0 QGenericArgumentnullptrQGenericArgument val1 QGenericArgument QGenericArgument val2 QGenericArgument QGenericArgument val3 QGenericArgumentQGenericArgument val4 QGenericArgumentQGenericArgument val5 QGenericArgumentQGenericArgument val6 QGenericArgument QGenericArgument val7 QGenericArgument QGenericArgument val8 QGenericArgumentQGenericArgument val9 QGenericArgument//最多有10个参数*obj需要把使用类传进去 member函数的名称 type调用类型 Qt::DirectConnnect 立即调用该成员函数 Qt::QueuedConnection 一旦应用程序进入主事件循环就会发送QEvent 并调用成员。 Qt::BlockQueuedConnection当前线程将阻塞直到事件被传递。使用此连接类型在同一线程中的对象之间进行通信将导致死锁。 Qt::AutoConnection 如果 obj与调用方位于同一线程中则同步调用成员;否则它将异步调用该成员。 val0-val9最多可以有10个参数 传参的方式使用宏传参 Q_ARG(typeconst Typevalue) Q_RETURN_ARG(type, Typevalue) 3.QMetaObject::invokeMethod的使用 实现QRunnable与外界互传对象 假如我们在主界面中定一个函数Update_Result用于接收QRunnable::run()发送来的值并且返回结果给QRunnable::run()。 //继承QRunnable class runnable : public QRunnable { public:explicit runnable(QObject *obj):obj(obj){setAutoDelete(true);}void run() override{int value 123;QString ret ;//接收主线程函数的返回值QMetaObject::invokeMethod(obj, Update_Result, Qt::BlockingQueuedConnection,//当前线程将阻塞直到事件被传递。使用此连接类型在同一线程中的对象之间进行通信将导致死锁。Q_RETURN_ARG( QString, ret),//返回Q_ARG(int,value));//传参qDebug()run返回值:ret;}QObject *obj; };class MainWindow : public QMainWindow {Q_OBJECTpublic:explicit MainWindow(QWidget *parent nullptr);~MainWindow();//Q_INVOKABLE 用于更新界面内容的作用是用来修饰成员函数让被修饰的成员函数能够被元对象系统所唤起Q_INVOKABLE QString Update_Result(int value){QString ret QString(abc%1).arg(value);qDebug()Update_Result:ret;return ret;}private slots:void on_pushButton_clicked(){IAPrunnable *runnable new IAPrunnable(this);QThreadPool::globalInstance()-start(runnable);}}运行结果 Update_Result: “abc123” run返回值: “abc123”
http://wiki.neutronadmin.com/news/44951/

相关文章:

  • 网站建站网站299266co制作网站
  • 抚州建设网站欧洲站vat激活
  • 2021免费正能量网站入口me域名免费注册
  • 厦门有什么好企业网站北京网站排名优化
  • 建设网站的网站公司wordpress 在线阅读pdf
  • 网站导航栏下面的文章腾讯云网站免费建设
  • 个人备案网站做电影站威海住房和城乡建设局官方网站
  • 杭州网站设计 网站百度推广开户渠道
  • 上海网站建设 知名觉wordpress shift+enter
  • 公司网站主页怎么做安卓app快速开发
  • 只买域名怎么做网站毕设什么类型网站容易做
  • 网站建设色织梦rss转wordpress
  • 自助建站网站建设设计公司网站内链建设方法
  • 制作微信网页的网站小叮当网站建设
  • 云一网站公司网站 源文件
  • 朋友做网站网站挣了好多钱什么是网络营销?
  • 网站排名优化原理模板网站如何引擎收录
  • 工商局网站怎么做增项婚庆公司网页设计模板
  • 如何找回网站备案密码深圳网站建设哪家比较好
  • 宜和购物电视购物官方网站wordpress微信登录
  • 网站一级导航怎么做门户网站建设方案的公司
  • 无锡网站排名公司网站建设论文参考文献
  • 陕西seo优化安卓优化大师官方版本下载
  • 怎么在百度搜索自己的网站免费域名申请网站大全下载
  • 网站上线要多久wordpress 小程序投稿
  • 中国建设银行个人网站登录wordpress drupal joomla
  • 北京免费建站模板品牌网上做推广
  • 广东事业单位网站电子商务网站策划ppt
  • 360度网站模板云南建设注册考试中心网站
  • 西安企业网站开发哪家好摄影网站建设开题报告