带有QT的c++ MessageQ包装器

Wrapper for MessageQ C++ with QT

本文关键字:包装 MessageQ c++ QT 带有      更新时间:2023-10-16

我有一个关于现有MQ解释的小问题。问题是,在程序的每个部分中,我们必须查询正在发送/接收的消息属于哪种类型,从而导致每个组件的大量切换场景。必须相应地处理每种类型的消息(更新GUI进度条、更新特定文件、从查询发生的地方连接特定信号等等)。

将其移动到单个组件中的最佳方法是什么?

现在它使用工厂方法来创建每个需要的对象,就像我之前说的缺点是,您必须询问创建什么类型的对象来实现所需的逻辑=>大开关。

您可以轻松地发送要执行的代码块,而不是要处理的消息id (switch语句),例如lambda对象。然后,您可以只执行"slot"中的代码块,而不检查和响应消息id。