我们使用Qt提供的信号和插槽,我发现真的是方便。然而,强大的力量带来了巨大的责任,我认为这种功能很容易被滥用。什么时候使用信号和插槽,什么时候不使用
是否有信号插槽使用的最佳做法?我很难用这种方式找到一些通用的指导方针。一些问题(我有明确的意见,但不是我的团队所有成员都同意):
- 可以使用信号来报告错误吗?
- 可以假设信号会被处理吗?
- 可以使用信号来启动操作吗?例如。
signal displayInfoScreen()
必须由显示信息屏幕的插槽来处理。
关于什么时候应该/不应该使用信号的任何其他意见是很欢迎欢迎!
接受此答案提供了在Qt中使用的简单示例。你认为错误是好的,但只有当处理是异步的时候? – larsmoa 2010-02-26 21:57:15
谢谢!而且,是的,否则,请添加状态返回值或状态参数(如QString :: toInt所做的那样)。 – e8johan 2010-02-28 09:28:56