QT信号和槽的参数必须完全匹配???????

shiyanbo_1006 2017-03-28 04:54:15
connect(this, SIGNAL(itemChanged(QTableWidgetItem *)),this, SLOT(somethingChanged()));

这信号和槽的参数并不匹配啊,为什么代码还可以正确执行
...全文
2639 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
JackLee86 2017-10-08
  • 打赏
  • 举报
回复 2
信号槽如何传递参数 1.当信号与槽函数的参数数量相同时,他们参数类型要完全一致; 2.当信号的参数与槽函数的参数数量不同时,只能是信号的参数数量多于槽函数的参数数量 ,且前面相同数量的参数类型应一致,信号中多于的参数会被忽略。 3.此外,在不进行参数传递时,信号槽绑定时也要求信号的参数数量大于等于槽参数的参数数量,这种情况一般是一个带参数的信号去绑定一个无参数订的槽函数。
  • 打赏
  • 举报
回复
connect(this, SIGNAL(itemChanged(QTableWidgetItem *)),this, SLOT(somethingChanged())); 这种能正常运行是因为信号中比槽中多余的参数,qt会自动抛弃掉,因此能够正常运行。
Acuity. 2017-04-22
  • 打赏
  • 举报
回复
按规则办事,不按规则办事会出现意想不到的结果。比如:闯一次红灯没事,不是意味着闯红灯是安全的。
Walker_in_code 2017-04-10
  • 打赏
  • 举报
回复
signals slots valueChanged(int,int)----------------------------------------setRange(int,int) valueChanged(int,int)----------------------------------------setRange(int) valueChanged(int,int)----------------------------------------setRange() valueChanged(int)-------------××××错误××××-------------setRange(int,int) valueChanged(int)---------------------------------------------setRange(int) valueChanged(int)---------------------------------------------setRange() valueChanged(QString)----------××××错误××××----------setRange(int) valueChanged()--------------××××错误××××---------------setRange(int) valueChanged()------------------------------------------------setRange() 总结:1.前面参数个数>=后面参数个数 2.前后参数类型一致 同时满足以上两点即可.
懒懒的吉他手 2017-04-10
  • 打赏
  • 举报
回复
带参数就是可以传参,也可以不传或者不接受,但是不能类型不一样
dai1396734 2017-03-30
  • 打赏
  • 举报
回复
按照书上说的来就是嘛,要想传参就保证参数一样就行,要是不想传参就不要参数!传参也要注意,不要传局部变量
未狂 2017-03-30
  • 打赏
  • 举报
回复
可以局部匹配 信号函数的参数列表必须大于或等于槽函数的参数列表 多余的参数在槽函数里会被丢弃 但是信号函数和槽函数的参数类型必须顺序匹配,否则出错
bestman 2017-03-29
  • 打赏
  • 举报
回复
不需要匹配,如果确实需要信号传参数,那就需要槽函数的参数类型和信号的参数类型保持一致才行
诺水城子 2017-03-28
  • 打赏
  • 举报
回复
这信号和槽的参数不一定要匹配,参数是将信号的参数传到槽上,如果槽函数需要处理信号传的参数,就要匹配。参数不匹配编译会有警告

16,203

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧