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

网站优化推广的方法wordpress 评论回复插件

网站优化推广的方法,wordpress 评论回复插件,免费wordpress企业主题,网站建设结论QT —— 信号和槽(自定义信号和槽函数) 自定义信号和槽函数一、自定义信号函数规范1. 声明位置2. 返回值与实现3. 参数与重载 二、自定义槽函数规范1. 声明位置(不同版本差异)2. 返回值与实现3. 参数与重载 三、信号发射规范1. 基…

QT —— 信号和槽(自定义信号和槽函数)

  • 自定义信号和槽函数
    • 一、自定义信号函数规范
      • 1. 声明位置
      • 2. 返回值与实现
      • 3. 参数与重载
    • 二、自定义槽函数规范
      • 1. 声明位置(不同版本差异)
      • 2. 返回值与实现
      • 3. 参数与重载
    • 三、信号发射规范
      • 1. 基本用法
      • 2. 为什么要用emit
    • 四、完整示例

之前我们简单了解了一下信号和槽,没有看过上一节的小伙伴可以看一下:

https://blog.csdn.net/qq_67693066/article/details/147275998?sharetype=blogdetail&sharerId=147275998&sharerefer=PC&sharesource=qq_67693066&spm=1011.2480.3001.8118

我们上一节大多使用的是按钮自带的信号或者槽函数,其实我们可以自己定义信号和槽函数。

自定义信号和槽函数

在Qt中自定义信号和槽函数需要遵循特定的语法规范:

一、自定义信号函数规范

1. 声明位置

  • 必须声明在类的signals:区块下
  • 示例:
    class MyClass : public QObject {Q_OBJECT
    signals:  // 信号声明区void mySignal();void dataReceived(const QByteArray &data);
    };
    
    在这里插入图片描述

2. 返回值与实现

  • 必须返回void类型
  • 只需声明,不需要实现(由moc自动生成实现)
  • 错误示例:
    signals:int invalidSignal();  // 错误!信号必须返回voidvoid anotherSignal() { /* 实现 */ }  // 错误!信号不能有实现
    

3. 参数与重载

  • 可以带参数,支持重载
  • 示例:
    signals:void valueChanged(int newValue);void valueChanged(double newValue);  // 重载信号
    

二、自定义槽函数规范

1. 声明位置(不同版本差异)

  • Qt4及早期版本

    class MyClass : public QObject {Q_OBJECT
    public slots:  // 必须声明在slots区块void mySlot();
    };
    
  • Qt5及以后版本

    class MyClass : public QObject {Q_OBJECT
    public:  // 可以声明在public区域void mySlot();  // 可作为槽函数
    };
    

    在这里插入图片描述

2. 返回值与实现

  • 通常返回void(但也可以有返回值)
  • 必须提供实现
  • 示例:
    // 声明
    public slots:void processData(const QString &data);int computeResult();  // 允许但不推荐// 实现
    void MyClass::processData(const QString &data) {// 实现代码
    }
    

3. 参数与重载

  • 可以带参数,支持重载
  • 示例:
    public slots:void setValue(int value);void setValue(double value);  // 重载槽
    

三、信号发射规范

1. 基本用法

  • 使用emit关键字(实际是可选的宏)
  • 示例:
    void MyClass::updateValue(int val) {m_value = val;emit valueChanged(val);  // 推荐使用emitvalueChanged(val);       // 这样也可以,但不推荐
    }
    

2. 为什么要用emit

  • 代码可读性:明确标识这是信号发射点
  • 开发提示:提醒开发者这是跨对象的通信点
  • 虽然不是强制要求,但是良好的编程习惯

四、完整示例

我们可以来试一下,我已经加了一个我自己定义的信号:
在这里插入图片描述

现在我们到cpp文件中使用一下:

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);connect(this,&Widget::MySignal,this,&Widget::handler);emit MySignal();}void Widget::handler()
{qDebug() << "这是我自己定义的槽函数";
}Widget::~Widget()
{delete ui;
}

在这里插入图片描述

这里要注意一下顺序:
在这里插入图片描述
原因是,首先关联信号和槽,一旦检测到信号发射之后就会立马执行关联的槽函数。反之,若先发射信号,此时还没有关联槽函数,当信号发射之后槽函数不会响应。

我们再来写一个例子:当老师说"上课了",学生们就"回到座位,开始学习":
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在teacher.h中声明信号函数:
在这里插入图片描述
在student.h中声明槽函数:
在这里插入图片描述
在widget.h中实例化"老师类对象"和"学生类对象";
在这里插入图片描述
在student.cpp中实现槽函数:
在这里插入图片描述
在widget.cpp中连接⾃定义信号和槽;
在这里插入图片描述
在这里插入图片描述


文章转载自:

http://NlzExAVG.bfkrf.cn
http://LrhG6CDW.bfkrf.cn
http://2SLD3BtK.bfkrf.cn
http://Cf0ULXYL.bfkrf.cn
http://pCzRISHJ.bfkrf.cn
http://MWJdueof.bfkrf.cn
http://t64LuXuu.bfkrf.cn
http://VzuWAoAK.bfkrf.cn
http://6zVYi5Ey.bfkrf.cn
http://KaEhCDDF.bfkrf.cn
http://3M2o7cga.bfkrf.cn
http://Tx8WmPI2.bfkrf.cn
http://cYK47Wnr.bfkrf.cn
http://qPGLokFo.bfkrf.cn
http://GuIKwIk7.bfkrf.cn
http://tbH1hoV1.bfkrf.cn
http://VrAiTWNh.bfkrf.cn
http://aj7jkbhb.bfkrf.cn
http://jQluCB9W.bfkrf.cn
http://Uzg49Hl4.bfkrf.cn
http://qxy2ga9Z.bfkrf.cn
http://ip5bHiOb.bfkrf.cn
http://TLrzJ0p3.bfkrf.cn
http://tse0Bz3H.bfkrf.cn
http://tHrDb9Qr.bfkrf.cn
http://AkvJdANd.bfkrf.cn
http://jtpn3nit.bfkrf.cn
http://pKyPuXIt.bfkrf.cn
http://8PbdKDJX.bfkrf.cn
http://qjHbAylL.bfkrf.cn
http://www.dtcms.com/wzjs/746531.html

相关文章:

  • 珠海网站建设找哪家好简易购物系统
  • 建设网站企业公司北京专业网站开发公司
  • wordpress 长页面商品标题优化
  • 可以做动画的网站有哪些郑州58同城
  • 网站建设线上线下双服务器成都短视频代运营
  • 在线做c语言题目的网站公众号开发者中心在哪
  • 谷城网站开发专业定制软件
  • 网站开发需要学哪些北京设计公司排行
  • 专做婚宴用酒是网站网站设置在设备之间共享怎么开启
  • 国内高清图片素材网站推荐娄底网站建设的话术
  • 合肥建设网站查询济南网站建设q479185700惠
  • 湖北省职业能力建设处网站邢台市是几线城市
  • 重庆做网站 熊掌号免费创建网站 优帮云
  • 苏州企业网站建设设计制作公司网站建设和风险评估
  • cms做网站容易不烟台网站排名优化公司
  • 做服装行业网站广东网站建设制作价格低
  • 网站建立后怎么做推广北京百度推广投诉电话
  • 商城网站制作教程张家港外贸网站建设
  • seo门户网站建设方案德州哪里有学做网站的
  • 西安制作网站软件展览公司
  • 鹿泉市建设局网站对网站建设起到计划和指导的作用
  • php网站开发实例教程源码网站seo完整seo优化方案
  • 网站设计 中国风商河便宜做网站的公司
  • 做装修的网站怎么做好赣州企业网站建设
  • 做存储各种环境信息的网站建设手机版网站需要主机多少空间
  • WordPress程序漏洞seo课程培训班费用
  • 成都市双流区建设局官方网站广州洲聚网站开发
  • 网站开发需要几个专业网站结构优化包括什么
  • 做外贸的人常用的网站开发工具都有什么
  • 环保企业网站建设现状百度关键词排名突然没了