更新时间:2020年06月15日14时23分 来源:黑马程序员 浏览次数:
Qt中信号槽的优势有哪些?
答:
a. 类型的安全的, 体现在以下两个方面:
- 信号和接收该信号的槽的参数类型要相同, 一一对应, 否则编译器会报错
- 槽的参数个数是可以少于或等于信号的参数个数的,但缺少的参数必须是信号参数的最后一个或几个参数。
b. 发信号的对象和处理信号的对象耦合度低:
- 激发信号的对象:
- 无需知道是哪个对象的哪个槽需要接收它发出的信号
- 只需在适当的时间发送适当的信号就可以了
- 不需要知道也不关心它的信号有没有被接收到,更不需要知道是哪个对象的哪个槽收到了信号
- 处理信号的对象
- 对象的槽不知道是哪些信号关联了自己
- 一旦对象的槽函数和信号进行了关联,Qt就会保证适合的槽被调用
- 关联槽函数的对象在运行时被删除,应用程序也不会崩溃。
c. 信号和槽机制增强了对象间通信的灵活性:
- 一个信号可以关联多个槽
- 多个信号可以关联一个槽。
推荐了解传智播客C++培训课程。