我正在寻找Python PubSub库的C++替代品,其中我不必将信号与插槽相连,而是可以注册一种特殊的消息,而无需知道可以发送该消息的对象。
最佳答案
也许您误会了什么信号和插槽。使用信号和插槽,您不必知道谁发送信号。您的“客户端”类仅声明插槽,外部管理器可以将信号连接到插槽。
我建议您检查Qt。这是一个了不起的跨平台库,不仅提供GUI支持。它可以方便有效地实现信号和插槽的使用。
如今,它还获得了LGPL的许可(除了GPL和商业版),因此您几乎可以将其用于任何目的。
重新澄清您的评论,为什么不为该错误引发异常(exception)? parent 可以通知GUI,或者GUI可以注册 parent 发出的信号。这样, parent 也不必了解GUI。
关于c++ - 适用于C++的Python的PubSub/observer模式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/605629/