gpt4 book ai didi

c++ - 通过逻辑层中的类转发 QProgressBar 更新的正确方法是什么?

转载 作者:行者123 更新时间:2023-11-30 02:57:09 26 4
gpt4 key购买 nike

我正在使用 QProgressBar并且已经弄清楚如何使用此过程从逻辑层中的特定类发送进度:

  • 在 View 层类中设置连接。
  • 在逻辑层类中创建信号信号。
  • 修改逻辑层类,使其成为 QObject。
  • 调用 QObject 作为逻辑层的基类构造函数。

现在,我希望逻辑层中的特定类通过另一个类发送进度。

例如:

  1. A 类(在 View 层):为 B 类的进度创建连接。
  2. B 类(在逻辑层):为 C 类的进度创建连接。
  3. C 类:更新进度以便可以在 A 类( View 层)中看到。

我试着模仿this procedure用于使用从 B 类到 C 的连接和信号,但它似乎不起作用。

任何答案将不胜感激

最佳答案

我会在逻辑层和 ui 层之间创建一个称为服务层的中间层,我会放入接口(interface)类来连接这两层。该服务层的基础是从 ui 获取消息并知道从逻辑层返回什么。然后,您的服务层会将消息发送到逻辑层,然后它可以创建您期望从逻辑层返回的类的虚拟实现。填写具体的实现并将它们传递回 ui 层。这可能有点令人困惑,但那是因为它是。这是一个很大的主题,被称为 n 层应用程序或许多其他名称,但实际上一本关于设计模式的好书可能会对在需要 C++ 接口(interface)的项目上工作有所帮助,但你总是可以通过抽象概念设计模式被应用于另一种语言,如 C#。希望这能有所帮助,抱歉,这不是您可以直接输入和查看的内容,但我相信对您尝试做的事情有一个很好的理解,这比仅仅解决临时信号槽机制问题要有益得多。如果您确实提供了更多代码,我也许可以诊断出您当前的情况。

关于c++ - 通过逻辑层中的类转发 QProgressBar 更新的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14865646/

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