首页 > 其他 > 详细

Qt 信号槽传参

时间:2020-05-04 20:21:28      阅读:87      评论:0      收藏:0      [点我收藏+]

利用Qt进行程序开发时,有时需要信号槽来完成参数传递。带参数的信号槽在使用时,有几点需要注意的地方。

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

第二点:当信号的参数与槽函数的参数数量不同时。

1:当我们的槽函数参数比信号的参数多时,将会出现QObject::connect: Incompatible sender/receiver arguments错误。

2:当槽函数参数比信号参数少时,而且前面的参数类型一致时,从左往右数多出来的参数将会被忽视。

例如有信号

void signal_fun(int i,string s);

有槽函数

void slot_fun(int i,string s)
{
    qDebug()<<"槽函数收到的参数为:"<<i<<s;
}

链接起来

connect(this,SIGNAL(signal_fun(int,string)),this,SLOT(slot_fun(int,string)));

输入代码

emit signal_fun(123,"hello");

那么则会有输出信息:槽函数收到的参数为123 hello。

Qt 信号槽传参

原文:https://www.cnblogs.com/leocc325/p/12827940.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!