Qt - connect顺序影响槽函数执行顺序 + 信号和槽函数之间的参数关系

connect顺序影响槽函数执行顺序

qt5之后,用模板函数的方式绑定,会先绑定先执行

qt5之前,用SIGNAL、SLOT宏绑定的,没有特定的顺序

 

 

信号和槽函数之间的参数关系
1、信号函数和槽函数进行链接时,一般要求信号函数和槽函数的参数保持一致
connect(信号发送者, SIGNAL(signalFun()),                   信号接收者, SLOT(slotFun()));                           // true
connect(信号发送者, SIGNAL(signalFun(int)),                信号接收者, SLOT(slotFun(int)));                      // true
connect(信号发送者, SIGNAL(signalFun(int, char)),       信号接收者, SLOT(slotFun(int, char)));             // true
connect(信号发送者, SIGNAL(signalFun(Qstring, int)),   信号接收者, SLOT(slotFun(int, QString)));       // false
connect(信号发送者, SIGNAL(signalFun(int)),                 信号接收者, SLOT(slotFun(QString)));            // false

2、当信号函数的参数大于槽函数的参数时
connect(信号发送者, SIGNAL(signalFun(int, char)),          信号接收者, SLOT(slotFun()));                   // true
connect(信号发送者, SIGNAL(signalFun(int, char)),          信号接收者, SLOT(slotFun(int)));               // true
connect(信号发送者, SIGNAL(signalFun(int, QString)),     信号接收者, SLOT(slotFun(QString)));      // false

3、当信号函数的参数小于槽函数的参数时
connect(信号发送者, SIGNAL(signalFun(int)),              信号接收者, SLOT(slotFun(int, char)));            // false
connect(信号发送者, SIGNAL(signalFun(int)),              信号接收者, SLOT(slotFun(int, char=0)));        // true 可以使用qt4版本传,但是不支持了

posted @   Citrusliu  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
历史上的今天:
2021-05-27 Qt - 获取系统当前时间
2021-05-27 Qt - 修改应用程序图标、任务栏图标、窗口图标
点击右上角即可分享
微信分享提示