【QT】——06_带参数的信号(笔记)

信号重载

说明:
信号是可以重载的,相同的名字不同的参数,在发射信号的时候给值:
emit musicSignal(100,"音乐菜单");

主窗口.h:
创建一个带参的槽来处理信号,注意槽的参数要与信号一致。

void dealMusic2(int ,QString);

主窗口.cpp:
我要让其在点击该按钮的时候在应用程序输出的时候讲传递的参数打印出来。

void MainWidget::dealMusic2(int a, QString str)
{
    qDebug() << a <<str.toUtf8().data();
}

connect连接:
注意这里的书写方式,由于是重载的信号,为了防止出现二义性,这里用到了函数指针。

    //点击按钮切换窗口
    void(musicMenu::*funSignal)() = &musicMenu::musicSignal;
    connect(&M,funSignal,this,&MainWidget::changeWin);
    //执行第二个带参信号,打印出来
    void(musicMenu::*testSignal)(int,QString) = &musicMenu::musicSignal;
    connect(&M,testSignal,this,&MainWidget::dealMusic2);

本章知识点

1.信号可以重载,但是书写槽函数的时候所传递的参数类型必须一致。
2.Qt的打印是用 qDebug() ,它的用法与C++的cout用法一致,不过要注意后边的括号必须要加上。使用qDebug()打印的时候需要添加头文件:
#include <QDebug>
3.打印汉字需要转换一下:
qDebug() << a <<str.toUtf8().data();
4.connect连接需要用函数指针将带参和没有参数的信号分别接收分别处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

非西昂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值