需求
信号槽和回调函数区别
解决
方便
信号和槽相对更加方便。
- 回调函数和接口在每次使用的时候,都需要额外判断函数指针是否为空。
- 当需要回调多个函数的时候,还需要管理多个函数指针。
- 当调用和被调用中间隔了几个类,回调就会很麻烦,需要把指针一路传递过去。
速度
回调函数和接口这样直接使用的明显会更加快速,信号和槽会慢一些。曾经出现一个问题,使用信号和槽在断开连接时只打印一次,使用回调函数会打印两次,经过调试发现,使用信号和槽在调试模式也会打印两次。初步判断是信号虽然触发了两次,但是因为时间过短,所以导致只执行了一次槽函数。