信号槽如何传递参数(或带参数的信号槽)

2023-10-29

第一点:当信号与槽函数的参数数量相同时,它们参数类型要完全一致。

 

信号:

 void iSignal(int b);

槽:

void MainWindow::iSlot(int b)
{
    QString qString;
    qDebug()<<qString.number(b);
}

信号槽绑定:

connect(this, SIGNAL(iSignal(int, float)), this, SLOT(iSlot()));

发送信号:

emit iSignal(5);

 

第二点:当信号的参数与槽函数的参数数量不同时,只能是信号的参数数量多于槽函数的参数数量,且前面相同数量的参数类型应一致,信号中多余的参数会被忽略。

 

第三点:在不进行参数传递时,信号槽绑定时也是要求信号的参数数量大于等于槽函数的参数数量。这种情况一般是一个带参数的信号去绑定一个无参数的槽函数。

 

 

注:

Qt4这种写法在编译时是不进行错误, 也就是如果你信号和槽函数名字写错了, 也是可以编译通过的. 在运行时才会报错. 而Qt5新写法在编译时就会报错

signal: 
    void SubWidget::iSignal();
    void SubWidget::iSignal(int b);

槽函数:

void MainWindow::iSlot(){
    qDebug()<<"";
}

void MainWindow::iSlot(int b){
    QString qString;
    qDebug()<<qString.number(b);
}

 

连接: 

void(SubWidget::*isSignal)() = &SubWidget::isSignal;
void(MainWindow::*isSlotl)() = &MainWindow::iSlot;
connect(this, isSignal, this, isSlotl);


void(SubWidget::*isSignal2)(int) = &SubWidget::isSignal; 
void(MainWindow::*isSlot2)(int) = &MainWindow::iSlot; 
connect(this, isSignal2, this, isSlot2);

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

信号槽如何传递参数(或带参数的信号槽) 的相关文章

  • 华为交换机在vlanif下绑定IP地址和MAC

    首先 我是在vlanif下启用dhcp的 2 1F Core1 Vlanif2 display this interface Vlanif2 ip address 172 16 15 1 255 255 254 0 dhcp select
  • 鸿蒙os和ios区别,华为鸿蒙OS和iOS以及安卓的区别到底在哪,一张图总结

    华为鸿蒙OS从2019年就在说了 很多人不了解什么是鸿蒙 也根本不知道这个OS和其它产品有什么区别 特别是未来华为想靠鸿蒙OS做什么 为什么华为愿意开源 为什么华为不像苹果一样做一个封闭的生态让自家产品的体验更好 今天借着下面这张图跟大家聊
  • 算法:跳跃游戏(js)

    题目 力扣 思路 试想一下 若从第三位置可以跳到第五位置 那只要前面有一个点能跳到第三位置即可说明整体能跳到第五位置 终点为最后一个点开始 看终点的前面是否存在一个点能跳到终点 若有这个点 此时终点为这个点 继续同样逻辑 代码 var ca
  • unsigned char和signed char型变量学习

    首先考虑下面代码输出什么 cpp view plain copy 1 include
  • Nginx 使用 HTTPS(准备证书和私钥)

    文章目录 Nginx生成自签名证书和配置Nginx HTTPS 准备证书和私钥 准备证书和私钥 Nginx生成自签名证书和配置Nginx HTTPS 准备证书和私钥 准备证书和私钥 生成私钥 openssl genrsa des3 out
  • 网络RJ45接口详解

    RJ45 简介 图 1 RJ45模块 RJ45模块用于实现PHY之间的互连 包括PHY芯片经信号变压器与RJ45接口相连 如图 1所示 RJ45连接器由插头和插座组成 RJ45插头又称水晶头 如图 3 10所示 这两种元件组成的连接器连接于
  • mmdetection训练数据遇到的问题

    1 Permission denied bash compile sh Permission denied 没有操作权限 改为赋予最高权限 777 chmod 777 compile sh 2 cuda问题 unable to execut
  • 无锁同步-C++11之Atomic和CAS

    首页 联系 订阅 无锁同步 C 11之Atomic和CAS 1 概要 本文是无锁同步系列文章的第一篇 主要探讨C 11中的Atomic 我们知道在C 11中引入了mutex和方便优雅的lock guard 但是有时候我们想要的是性能更高的无
  • 合并单元格

    protected void gridView PreRender object sender EventArgs e MergeRows gridView 合並單元格 public static void MergeRows GridVi
  • QT 子线程 更改UI

    一 问题原因 QT和Android类似 不能在子线程中直接更新UI 否则会有崩溃 二 实现方式 方式有几种 我这里只说一种 使用 信号机制 三 原理 原理其实是信号槽机制 槽连接方式 有以下四种 如果未设置默认 auto 即可跨线程通信 D

随机推荐

  • 蓝桥杯单片机(十三)AT24C02(EEPROM)

    AT24C02是一个2K位串行CMOS E2PROM 内部含有256个8位字节 CATALYST公司的先进CMOS技术实质上减少了器件的功耗 AT24C02有一个16字节页写缓冲器 该器件通过IIC总线接口进行操作 有一个专门的写保护功能
  • TL431应用电路与LTspice仿真

    TL431应用电路与LTspice仿真 文章目录 TL431应用电路 简介 应用电路1 稳压源 应用电路2 电压比较器 应用电路3 隔离型反馈电路 LTspice仿真 模型导入和使用 spice模型 原理图符号 放置模型 暂态仿真 DC扫描
  • 最大公约数,最小公倍数,素数等问题

    1 两个数的 最小公倍数 等于两个数的乘积除以最大公约数 scm a b a b gcd a b 所以主要是最大公约数问题 gcd 问题 辗转相除法 依据就是欧几里得定理 gcd a b gcd b a b def gcd a b whil
  • Docker三剑客——Compose

    前面介绍了Docker三剑客中的两个 今天我们介绍一下三剑客中的最后一个 docker compose 接下来的内容 我们还是从五个方面来讲解 主要包括如下 Compose简介 Compose安装与卸载 Compose常用命令 Compos
  • LinearEyeDepth 推导过程

    转载自 冯乐乐的 Unity Shader 入门精要 获取深度和法线纹理 虽然在Unity里获取深度和法线纹理的代码非常简单 但是我们有必要在这之前首先了解它们背后的实现原理 深度纹理实际上就是一张渲染纹理 只不过它里面存储的像素值不是颜色
  • 谈谈前华为荣耀软件测试工程师校招面试(已拿到offer)

    截止到现在 一共参加了2次笔试 2次面试 具体时间参照截图 机试 一共三道编程题 共500分好像 全对了一道 就是提交后通过测试 另外两道写完了 但是提交测试没通过 性格测试 就正常选了 保证前后一致啊 因为前面问到的后面还会有 不然会提示
  • 英语学习频道

    1 美国在线 www aol com 2 美国白宫 www whitehouse gov 3 路透网 中文 http cn reuters com 英文 http www reuters com 4 环球网 中文 http www huan
  • JS实现贪吃蛇

    JS实现贪吃蛇 1 结构 创建一个盒子box作为蛇的身体 当前盒子中只有一个子元素 代表此时蛇的长度为1 在创建一个盒子food作为贪吃蛇的食物 div div div div div div 2 CSS 设置蛇和食物的样式 这里注意蛇和食
  • 一文带你理解@RefreshScope注解实现动态刷新原理

    概述 RefeshScope这个注解想必大家都用过 在微服务配置中心的场景下经常出现 他可以用来刷新Bean中的属性配置 那大家对他的实现原理了解吗 它为什么可以做到动态刷新呢 注解的作用 RefreshScope注解是Spring Clo
  • linux 服务器的node 安装

    1 先下载 node 当然下载的是符合linux 系统的 我当时下载的是 node v16 18 0 linux x64 tar xz 2 把 node v16 18 0 linux x64 tar xz 放到linux 服务器上 我当时是
  • select poll epoll iocp kqueue

    为什么epoll kqueue比select高级 答案是 他们无轮询 因为他们用callback取代了 想想看 当套接字比较多的时候 每次select 都要通过遍历FD SETSIZE个Socket来完成调度 不管哪个Socket是活跃的
  • Go 小项目1 - 家庭收支记账软件

    Go 小项目1 家庭收支记账软件 一 需求 1 模拟实现基于文本界面的 家庭记账软件 2 该软件能够记录家庭的收入 支出 并能够打印收支明细表 二 编码 1 功能 1 完成主菜单的编写 2 显示明细和登记收入 3 登记支出 三 实现 实现1
  • linux shell脚本使用echo输出空行与空格

    使用echo输出空行与空格到文件中 输出空行 echo gt gt temp 自动换行 输出空格 echo n gt gt temp 不换行 插入换行符 echo n gt gt file
  • MybatisPlus

    MybatisPlus特点 MyBatis Plus是MyBatis的强大增强工具 它为MyBatis提供了许多有效的操作 你可以从MyBatis无缝切换到MyBatis Plus MyBatis Plus可以自动注入基本的SQL片段 My
  • Java中的Constants类

    Constants类即常量类是将一些常用的变量集合到一个地方的类 常量应该定义在类中 而不是接口中 见Effective Java 2nd Edition Item19 如果定义的常量是int类型的 可使用Enum类来代替 见Effecti
  • 【推荐系统】geohash召回

    经纬度坐标 精度非常高 只能表述一个点 二维坐标 geohash 一种地理编码系统 划分成4 8的格子 编码长度越长 区域大小越小 位置描述的越精确 1km 一般编码长度用6 7长度 geohash比经纬度好在哪里 浮点数编码成字符串占用的
  • stm32 f103c8t6系列之 PWM驱动舵机

    stm32 f103c8t6系列之 PWM驱动舵机 stm32 f103c8t6系列之 PWM驱动舵机 文章目录 stm32 f103c8t6系列之 PWM驱动舵机 一 stm32 F103 c8t6 控制 PWM驱动舵机 接线图 2 引入
  • 【测试】各类视频(MP4、FLV、MKV、3GP)测试地址摘录,目前链接亲测有效!

    由于我们在做流媒体项目的时候 经常需要用到视频链接做测试用 所以这里为大家找了一些可以使用的链公大家参考测试 链接收集于网络 如有失效请更换下一个链接 MP4链接如下 http clips vorwaerts gmbh de big buc
  • zotero的最佳打开方式和同步策略

    就不对zotero做更多的介绍了 可以网上搜一搜 直接介绍如何入手使用zotero 本文的同步策略和大多数同步策略都不一样 其他的用坚果云同步的需要用WebDAV同步所有文件 本文直接同步附件文件夹即可 目录 一 安装 二 配置 1 配置z
  • 信号槽如何传递参数(或带参数的信号槽)

    第一点 当信号与槽函数的参数数量相同时 它们参数类型要完全一致 信号 void iSignal int b 槽 void MainWindow iSlot int b QString qString qDebug lt