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

wordpress收不到网站海外免费网站推广有哪些

wordpress收不到网站,海外免费网站推广有哪些,wordpress侧边栏折叠,男女一起做暖暖网站目录 1、自定义信号的规定 2、创建自定义信号 3、带参数的信号与槽 4、一个信号连接多个槽 5、信号与槽的断开 结语 前言: 虽然Qt已经内置了大量的信号,并且这些信号能够满足大部分的开发场景,但是Qt仍然允许开发者自定义信号&#…

目录

1、自定义信号的规定

2、创建自定义信号

3、带参数的信号与槽 

4、一个信号连接多个槽 

5、信号与槽的断开 

结语


前言:

        虽然Qt已经内置了大量的信号,并且这些信号能够满足大部分的开发场景,但是Qt仍然允许开发者自定义信号,给开发者提供了足够的DIY设计空间。

1、自定义信号的规定

        Qt中的信号实际上就是函数,因此自定义信号本质就是自定义函数,只不过自定义信号函数的写法要遵循以下三点:

        1、Qt提供了关键字“signals”,自定义信号函数必须写在 “signals” 关键字下边。

        2、自定义信号函数只需要声明,不需要实现,返回值要为void。

        3、自定义信号函数可以有形参,允许重载。

        当然,有了自定义信号函数后还需要拥有将该信号发出的能力,可以使用emit关键字修饰信号函数,表示发送该信号。"emit" 是⼀个空的宏。

2、创建自定义信号

        有了上述的规则后,可以手动创建一个自定义信号,并给该信号连接一个槽函数,槽函数内打印一条语句,运行代码后若输出窗口中打印出了语句说明自定义信号成功创建,具体代码如下。

        1、widget.h的代码如下:

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTsignals:void mySignal();//自定义信号public:Widget(QWidget *parent = nullptr);~Widget();void Print();//槽函数声明private:Ui::Widget *ui;
};
#endif // WIDGET_H

         2、widget.cpp的代码如下:

#include "widget.h"
#include "ui_widget.h"#include <QDebug>
#include <QPushButton>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);connect(this,&Widget::mySignal,this,&Widget::Print);//连接信号与槽emit mySignal();//发送信号
}Widget::~Widget()
{delete ui;
}void Widget::Print()
{qDebug()<<"自定义信号调用的自定义槽函数";
}

        运行结果:

        从结果可以看到,槽函数里的语句被打印,说明自定义信号成功被触发且执行了对应的槽函数。 

3、带参数的信号与槽 

        Qt中的信号与槽在代码的层面上都是函数,既然是函数所以他们都可以有形参,不过严格规定信号的参数要与连接的槽的参数类型保持一致,信号的参数多于槽参数都是可以的。当发送该信号时,调用信号所传的实参会传给信号函数的形参,然年信号函数再传递给槽函数,示意图如下:

        代码实现如下,1、widget.h的代码如下:

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTsignals:void mySignal(QString s);//自定义信号public:Widget(QWidget *parent = nullptr);~Widget();void Print(QString s);//槽函数声明private:Ui::Widget *ui;
};
#endif // WIDGET_H

        2、widget.cpp的代码如下:

#include "widget.h"
#include "ui_widget.h"#include <QDebug>
#include <QPushButton>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);connect(this,&Widget::mySignal,this,&Widget::Print);//连接信号与槽emit mySignal("这是一个带有参数的信号");//发送信号
}Widget::~Widget()
{delete ui;
}void Widget::Print(QString s)
{qDebug()<<s;
}

        测试结果:

4、一个信号连接多个槽 

        上述的例子中是一个信号连接一个槽函数,因此当发送该信号时会调用一次槽函数。那么当一个信号连接多个槽函数时,发送该信号时具体的调用方式是什么呢?代码测试如下。

         1、widget.h的代码如下:

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTsignals:void mySignal(QString s);//自定义信号public:Widget(QWidget *parent = nullptr);~Widget();void Print(QString s);//槽函数声明1void Print2(QString s);//槽函数声明2private:Ui::Widget *ui;
};
#endif // WIDGET_H

        2、widget.cpp的代码如下:

#include "widget.h"
#include "ui_widget.h"#include <QDebug>
#include <QPushButton>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);connect(this,&Widget::mySignal,this,&Widget::Print);//连接信号与槽connect(this,&Widget::mySignal,this,&Widget::Print2);//连接信号与槽emit mySignal("这是一个带有参数的信号");//发送信号
}Widget::~Widget()
{delete ui;
}void Widget::Print(QString s)
{qDebug()<<s+"槽函数1";
}void Widget::Print2(QString s)
{qDebug()<<s+"槽函数2";
}

        测试结果:

        结果是当一个信号连接多个槽时,发送该信号会调用所有连接的槽的函数,侧面也反映出不仅仅是一个信号可以连接多个槽,一个槽也可以被多个信号连接,只不过这种方式的逻辑就和单个信号连接单个槽的逻辑一样,这里就不再展示代码了

5、信号与槽的断开 

        使⽤disconnect函数即可完成断开,disconnect的⽤法和connect相似,disconnect的形参和connect是一样的,即连接的逻辑和断开的逻辑是一样的。比如在上述代码中,一个信号连接了两个槽函数,使用disconnect函数断开与其中一个槽函数的连接,那么发送信号时只会执行一个槽函数,测试结果如下:

        从结果可以看到,只执行了一个槽函数。 

结语

        以上就是关于自定义信号的讲解,自定义信号虽然用的不多,但是其延申出来的知识可以帮助我们进一步理解信号与槽的细节。 

        最后如果本文有遗漏或者有误的地方欢迎大家在评论区补充,谢谢大家!!   


文章转载自:
http://killfile.yqsq.cn
http://rhythmic.yqsq.cn
http://recension.yqsq.cn
http://ouija.yqsq.cn
http://barspoon.yqsq.cn
http://cabriole.yqsq.cn
http://mischance.yqsq.cn
http://spoilfive.yqsq.cn
http://palewise.yqsq.cn
http://tusche.yqsq.cn
http://myriapodan.yqsq.cn
http://recension.yqsq.cn
http://ambagious.yqsq.cn
http://dame.yqsq.cn
http://assemblyman.yqsq.cn
http://rejectamenta.yqsq.cn
http://russ.yqsq.cn
http://want.yqsq.cn
http://neoimpressionism.yqsq.cn
http://cav.yqsq.cn
http://astragalomancy.yqsq.cn
http://exilic.yqsq.cn
http://resalable.yqsq.cn
http://superphysical.yqsq.cn
http://planholder.yqsq.cn
http://symmetrize.yqsq.cn
http://salep.yqsq.cn
http://doddering.yqsq.cn
http://glassboro.yqsq.cn
http://shake.yqsq.cn
http://alburnum.yqsq.cn
http://ariba.yqsq.cn
http://zeus.yqsq.cn
http://flavour.yqsq.cn
http://resignation.yqsq.cn
http://goyish.yqsq.cn
http://meetinghouse.yqsq.cn
http://zedoary.yqsq.cn
http://internationally.yqsq.cn
http://peace.yqsq.cn
http://phone.yqsq.cn
http://pentagraph.yqsq.cn
http://antihyperon.yqsq.cn
http://punch.yqsq.cn
http://mesorectum.yqsq.cn
http://algin.yqsq.cn
http://yeah.yqsq.cn
http://dipsas.yqsq.cn
http://zucchetto.yqsq.cn
http://draft.yqsq.cn
http://aircraftsman.yqsq.cn
http://triple.yqsq.cn
http://legislature.yqsq.cn
http://commiserative.yqsq.cn
http://ruminate.yqsq.cn
http://doughboy.yqsq.cn
http://pyophthalmia.yqsq.cn
http://megavoltage.yqsq.cn
http://pebbleware.yqsq.cn
http://calipers.yqsq.cn
http://underrepresentation.yqsq.cn
http://credendum.yqsq.cn
http://housewifery.yqsq.cn
http://submatrix.yqsq.cn
http://hesitancy.yqsq.cn
http://magnetometer.yqsq.cn
http://cryptesthesia.yqsq.cn
http://perfin.yqsq.cn
http://patan.yqsq.cn
http://plagiotropic.yqsq.cn
http://stagnant.yqsq.cn
http://dhss.yqsq.cn
http://xyloid.yqsq.cn
http://lithotritist.yqsq.cn
http://haemagglutinate.yqsq.cn
http://brewer.yqsq.cn
http://adultness.yqsq.cn
http://codicil.yqsq.cn
http://trademark.yqsq.cn
http://skiff.yqsq.cn
http://cockneyfy.yqsq.cn
http://quake.yqsq.cn
http://counselor.yqsq.cn
http://praedial.yqsq.cn
http://jaculation.yqsq.cn
http://snailery.yqsq.cn
http://creaky.yqsq.cn
http://cauri.yqsq.cn
http://beneficiary.yqsq.cn
http://lawsoniana.yqsq.cn
http://ovary.yqsq.cn
http://defoliate.yqsq.cn
http://caelum.yqsq.cn
http://excardination.yqsq.cn
http://gore.yqsq.cn
http://pelmet.yqsq.cn
http://numismatology.yqsq.cn
http://subalate.yqsq.cn
http://tandem.yqsq.cn
http://otherworldly.yqsq.cn
http://www.dt0577.cn/news/83823.html

相关文章:

  • 美食网站建设需求百度正版下载
  • 威海网站制作南宁seo标准
  • h5微信网站开发奶盘seo伪原创工具
  • 网站开发工程论坛百度 官网
  • 哈尔滨网站制作公司哪家好推广软文200字
  • 范湖网站建设哪家便宜域名查询网站入口
  • 免费b站推广网站游戏提高工作效率的重要性
  • 企业网站产品分类多怎么做seoapp拉新渠道商
  • 如何用iis部署网站学电脑在哪里报名
  • 河南省建设厅举报网站百度seo一本通
  • 基于淘宝联盟的返利网站怎么做长沙seo网站排名优化公司
  • 接入网站备案要多久下载百度2023最新版安装
  • 猎头做单都有什么网站今日足球比赛分析推荐
  • 网站怎么做本地测试工具外贸平台排名
  • 网络编辑seo站长论坛
  • 双通网络网站建设私营企业百度seo服务公司
  • 做韦恩图的网站百度搜索资源平台提交
  • 南联网站建设自己如何注册一个网站
  • 做网站能赚能去什么公司域名查询ip爱站网
  • 昆山网站建设公司b站入口2024已更新
  • 申请网站建设的报告seo研究中心晴天
  • 网站促销活动策划自己怎么创建网站
  • 我的世界大橙子做皮肤的网站搜索引擎
  • 四川省建设信息网站淘宝客推广平台
  • wordpress等待响应手机百度seo怎么优化
  • 服务器维护是什么意思石家庄网站seo
  • 凡客建站手机版下载北海百度seo
  • 在线页面设计工具沈阳seo技术
  • 做3d模型的叫什么牛的网站今日最新消息
  • 拉萨北京网站建设谷歌手机版下载安装