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

沭阳县城乡建设局网站wordpress 瀑布流主题

沭阳县城乡建设局网站,wordpress 瀑布流主题,上海建设网站浦东新区污水管网工程,wordpress主题新闻在项目开发时,常常需要用线程采集数据,如果要给界面发送数据,本文是方法之二,动态调用。 第一步:在界面类里定义一个带Q_INVOKABLE关键字的函数接收信息 第二步:在线程类里,用 QMetaObject::i…

在项目开发时,常常需要用线程采集数据,如果要给界面发送数据,本文是方法之二,动态调用

第一步:在界面类里定义一个带Q_INVOKABLE关键字的函数接收信息

第二步:在线程类里,用 QMetaObject::invokeMethod函数把数据发送出去,注意此函数中中指明的第二个参数是在第一步中的函数名称,第四个参数中指明了函数参数类型和个数,要和第一步保的函数参数类型和个数保持一致。

bool QMetaObject::invokeMethod

(QObject *obj,//第一个参数

const char *member,//第2个参数

Qt::ConnectionType type = Qt::AutoConnection,//第3个参数

QGenericReturnArgument ret = QGenericReturnArgument(),//可以有返回值,也可以没有返回值

QGenericArgument val0 = QGenericArgument(nullptr),//member字符变量对应函数的第1个参数

QGenericArgument val1 = QGenericArgument(), ...,//...

QGenericArgument val9 = QGenericArgument()///member字符变量对应函数最多10个参数

)

例子

1.线程

(1)头文件

#ifndef THREAD1_H
#define THREAD1_H

#include <QThread>
#include <QDebug>
class Thread1 : public QThread
{
    Q_OBJECT
public:
    explicit Thread1(QObject *parent = nullptr);

protected:
    void run()  override; //线程的循环
private:
    int seq=0;

};

#endif // THREAD1_H
 

(2)cpp文件

#include "thread1.h"

Thread1::Thread1(QObject *parent)
    : QThread{parent}
{
}
void Thread1:: run()
{   qDebug()<<"void Thread1:: run()";
    while(1)
    {
        QThread::msleep(100);
        seq++;
        //emit send_info(seq);
         QMetaObject::invokeMethod
            (this->parent(),
             "DataChanged",
            Qt::QueuedConnection,
            Q_ARG(int, seq)
            );
        //qDebug()<<this->parent();
    }
 }

2.界面

(1)头文件

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include "thread1.h"
#include <QString>
#include <QDebug>
QT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
    Q_INVOKABLE void DataChanged(int a);

//public slots://本行及下一行和上行的效果一样
      //  void DataChanged(int a);
private:
    Ui::Widget *ui;
    Thread1 * thread1;
   
};
#endif // WIDGET_H

(2)cpp文件

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    thread1=new Thread1(this);
    thread1->start();
}

Widget::~Widget()
{
    delete ui;
}
void Widget:: DataChanged(int a)
{
    //qDebug() << "DataChanged:"<<a;
    ui->plainTextEdit->setPlainText(QString::number(a));
}

http://www.dtcms.com/a/608502.html

相关文章:

  • 网站开发费用如何入账wordpress KODExplorer
  • 东莞企网站建设网站建设规范布局
  • 山海关网站制作重庆秀山网站建设报价
  • 如何做网站的需求分析WordPress主题安全检查
  • wordpress前台管理员6嘉兴网站推广优化
  • 网站模版安装教程美工做任务网站
  • 建设银行网站登录首页四川建设厅官方网站九大员通知
  • 网站优化推广 site国内最新新闻消息今天的
  • 网站建设衤金手指谷哥十四qq个人邮箱登录入口
  • 网站推广套餐做网站用什么开发工具
  • 长沙建设网站企业山东网站建设公司排名
  • 网站建设制作公司都选万维科技工厂生产erp管理系统
  • 网站开发容易吗宜昌哪里有专业做网站的
  • 网站开发一个月帝国做视频网站
  • 做网站的不给源文件网上服装商城网站建设方案
  • 杭州富阳网站建设公司网站建设 图片
  • 网络咨询网站青岛房价
  • 个人网站设计毕业设计论文哪里有培训网页设计
  • 郑州建网站的好处怎样制作企业的网站
  • 建设公司网站的会计分录建设部指定招标网站
  • 企业自助建站程序企业网站关键字优化
  • 深圳外贸soho网站建设网站流量达到多少
  • 夹江企业网站建设报价做流量哪个网站好
  • 失效网站建设费支出做国外网站赚钱
  • 电子商务网站设计成功的要素网站素材模板 站长
  • 湘潭网站优化公司石家庄建站软件
  • 课程网站建设特色网站备案没有固定电话
  • 东台做网站找哪家好做电影下载网站成本
  • 黑龙江交通基础设施建设网站黄骅港金沙滩景区
  • 实用写作网站网页设计培训学费多少