Qt信号槽之再谈Qt4与Qt5中信号槽使用的差异
Differences between String-Based and Functor-Based Connections
通过上面的示例和分析,我们已经明显感受到Qt4和Qt5中connect的不同之处,但是Qt文档中有一篇文章专门叙述了Qt4和Qt5中connect的差异,这里根据此篇文章带着大家再深入了解拓展一下。
从Qt5开始,Qt提供了两种不同方法的信号槽连接方式,一种是基于字符型,一种是基于函数式,其实也就是我们上方提到的Qt4和Qt5的不同写法,Qt4中connect的信号和槽函数的参数类型为 const char*,而Qt5中connect的信号和槽函数的参数类型为PointerToMemberFunction(指向成员函数的指针)。
下方是Qt文章中整理的四个不同点。
区别 | Qt4(运行时) | Qt5(编译时) |
---|---|---|
检测支持隐式类型转换 | √ | |
信号可以连接L |