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

厦门建设银行网站首页外汇网站怎么做优化

厦门建设银行网站首页,外汇网站怎么做优化,wordpress文章副标题,新乡中企网站建设在项目开发时,常常需要用线程采集数据,如果要给界面发送数据,本文是其中的一种办法, 第一步:在线程类里定义一个信号函数,通过emit关键字发送出去, 第二步:在界面类里定义一个槽函…

在项目开发时,常常需要用线程采集数据,如果要给界面发送数据,本文是其中的一种办法,

第一步:在线程类里定义一个信号函数,通过emit关键字发送出去,

第二步:在界面类里定义一个槽函数接收信息,注意信号函数和槽函数的参数类型和个数要一样。

第三步:‌用 ‌ 连接信号和槽的函数,是实现对象间通信的重要机制。

它允许信号发出时自动调用相应的槽函数,从而实现对象之间的解耦和灵活的交互‌。

它的原型是:bool QObject::connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType type = Qt::AutoConnection);

  • sender‌:信号发送者的指针。
  • signal‌:要连接的信号名称。
  • receiver‌:信号接收者的指针。
  • member‌:接收信号时调用的槽函数名称。
  • type‌:连接类型,默认为自动连接(Qt::AutoConnection)。

常见问题及解决方法

无效的空指针‌:如果遇到 QObject::connect: invalid null parameter 错误,通常是因为连接的指针为空或未正确初始化。确保在连接信号和槽之前,相关对象已被正确创建和初始化‌。

重载函数歧义‌:在使用 QObject::connect 时,如果信号或槽函数被重载,可能会导致连接失败。确保在连接时指定正确的函数版本,可以通过使用静态类型转换或明确指定函数参数来解决‌。

例子

1.线程

(1)头文件

#ifndef THREAD1_H
#define THREAD1_H

#include <QThread>
#include <QDebug>
class Thread1 : public QThread
{
    Q_OBJECT
public:
    explicit Thread1(QObject *parent = nullptr);
signals:
    void send_info(int value);
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);
    }
 }
 

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();
public slots:
    void receive_info(int i);

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);
    QObject::connect(thread1,
                     SIGNAL(send_info(int)),
                     this,
                     SLOT(receive_info(int))
                    );
    thread1->start();

}

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


文章转载自:

http://LQCePkTL.rwmft.cn
http://BHHi61yg.rwmft.cn
http://E0ahnzJv.rwmft.cn
http://q3U7Tn0U.rwmft.cn
http://MgNy72VL.rwmft.cn
http://6Yy3tAJb.rwmft.cn
http://sjBAK7mx.rwmft.cn
http://g1jN9fBL.rwmft.cn
http://N8H7i9b8.rwmft.cn
http://TNleC4YM.rwmft.cn
http://TntT4zTg.rwmft.cn
http://mzhknVSS.rwmft.cn
http://ABQYb0Fe.rwmft.cn
http://qbvUOZq8.rwmft.cn
http://vZ7IKvuw.rwmft.cn
http://1RB4Rfxk.rwmft.cn
http://3tqEb474.rwmft.cn
http://mjIHjQEP.rwmft.cn
http://8YpgJus6.rwmft.cn
http://ijXg66sm.rwmft.cn
http://S4MVbMU2.rwmft.cn
http://fiTJWJsB.rwmft.cn
http://4P9AYgwW.rwmft.cn
http://GajjwDlJ.rwmft.cn
http://WihyvUm9.rwmft.cn
http://e7m2EPd1.rwmft.cn
http://5aXlstIw.rwmft.cn
http://SQ3XAqKH.rwmft.cn
http://4T5FkRqu.rwmft.cn
http://Nj4keplP.rwmft.cn
http://www.dtcms.com/wzjs/684344.html

相关文章:

  • 中国银行网站建设网站网址怎么找
  • 横沥网站仿做广州市手机网站建设品牌
  • 甘南网站建设wordpress换nginx 数据库
  • wordpress网站代码文件太多知名小蚁人网站建设
  • 宜昌营销型网站资源网站源码
  • 做一个简单网站多少钱网站建设的前期准备
  • 河南省住建局官方网站动漫风格网站
  • 微信的微网站模板国外psd网页模板网站
  • 成都哪家网站建设强株洲网站建设 公司
  • 中国那个公司的网站做的最好看google广告投放
  • 西安营销网站建设公司短视频直播运营版源码下载
  • 网站建设信 信科网络国内做微商城比较知名的网站
  • 百度商桥网站代码去哪里添加网易企业邮箱后缀怎么设置
  • 男女这样做那个网站成都住房和城乡建设厅网站
  • 网站建设地址 北京小门户网站模版
  • 网站模块删除网站网址和域名
  • 自己的电脑做网站php零基础做网站
  • 安徽合肥中国建设银行网站首页wordpress连接微博基础版
  • 广东源江建设集团有限公司网站苏州网站建设caiyiduo
  • 营销型网站有意义吗安徽省建设工程信息网实名制
  • 网站建设方案及报价单网页设计师主要是做什么
  • 网站制作销售术语宣传
  • 建设科技信息+网站建设无锡高端网站建设开发
  • 怎么在网站上做充话费业务用python做的网站
  • 杭州市社区建设网站湛艺建设集团网站
  • 网站内链怎么删除我用织梦5.7做个网站应该把淘宝客店铺链接放到哪
  • 小说网站开发的实际意义重庆交通在线公众号
  • wordpress 防站教程有什么国外的设计网站推荐
  • 做一个展示型网站要多少钱网上购物英语作文
  • 深圳微信分销网站制作门户网站系统建设清单