Qt信号和插槽 - 它们仅用于GUI还是整个应用程序架构?

gri*_*yvp 4 qt design-patterns

我很好奇-是Qt的信号和槽(代表图案?)仅用于GUI回调或他们是完美的罚款,并打算对整个应用程序?我的意思是,将应用程序拆分为小型,自包含的对象(类)并通过信号和插槽进行互连是否更好.如果是这样,从信号返回值的推荐方法是什么(用于返回某些东西的类似请求的信号),因为Qt的信号返回值被忽略.

sho*_*osh 7

QT的信号和插槽不用于从reciver返回值.它们是严格的单向沟通机制.

接收方实际上可能处于一个完全不同的线程中,在发送方emit调用返回之后接收来自队列的信号.

至于将它用于除GUI以外的任何东西..你可以在任何适合的地方使用它们,如果它适合那里.为什么单独出GUI是特别的?


Tob*_*ner 5

信号和插槽是实现观察者模式的一种方式.在任何地方使用观察者模式(例如减少耦合),您也可以使用信号和插槽.