gpt4 book ai didi

c++ - 如何设计一个Qt前后端分离的程序?

转载 作者:行者123 更新时间:2023-11-28 08:09:34 29 4
gpt4 key购买 nike

我想为一个也需要从命令行使用的程序开发一个Qt 前端。首先,我想用一个参数来解决这个问题(如果它被设置,那么 UI 将被创建,否则就写在 std::out 上)但我有这样的感觉 我应该将这些组件分开,并只为后端逻辑 创建程序(如果可能,使用纯 C++)。在这种情况下,Qt 程序可以读取并理解后端的输出。如果需要,后端可以单独运行,将其结果写入 std::out

从前端调用后端程序最优雅的方法是什么,不会阻塞?

我的第一个想法是创建一个子进程并使用 exec 调用后端,然后如果后端完成,它应该向前端发出信号并阻塞直到前端完成读取,读取可以通过管道完成或类似的东西。

这是一个好方法吗?还有其他实现技巧吗?

最佳答案

Qt 具有多种允许异步执行的特性:

  • The signal and slots :一种比回调更健壮的通信方式。您可以使用排队连接稍后触发插槽
  • Qt concurrent : 基本上允许您在线程池中运行一些方法。
  • 检查这个list

我的想法是将后端设计为 API。具体来说,在每个组件中,您需要一个对象子集(可能只有一个),所有与外部组件的通信都通过这些对象进行。避免在前端放太多逻辑,避免根据视觉外观编写后端。这有点含糊:P。

关于c++ - 如何设计一个Qt前后端分离的程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9478610/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com