【问题标题】:Custom event loop/simulation loop自定义事件循环/模拟循环
【发布时间】:2014-04-30 18:28:46
【问题描述】:

我有一个应用程序,其中模拟和可视化都很重要。目前,我的可视化和模拟是在同一个循环中完成的(即 QT 偶数循环)。我想为模拟创建一个单独的循环。在不影响 Singal/Slot 等功能的情况下创建另一个循环的最佳方法是什么?

【问题讨论】:

    标签: qt event-handling simulation


    【解决方案1】:

    最简单的答案是 new QThread 提供线程本地事件循环,因此您可以将模拟移动到新 QThread(请参阅Per-thread event loop)。但是,如果没有关于您的模拟的更多详细信息,我只能假设它会满足您的需求。

    【讨论】:

      【解决方案2】:

      单线程应用程序中没有多个事件循环。

      如果你有多个线程,那么如果你想在这些线程中使用事件,这些线程必须有一个在其中运行的事件循环。

      因此,您的问题在某种程度上已经解决了。只需使用单独的模拟线程,并将模拟 QObject(s) 移动到它。

      请注意,QThread 是一个混蛋,不是一个合适的 C++ 类,因为它不能总是被安全地破坏。使用a safe replacement

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-03-15
        • 2017-08-31
        • 1970-01-01
        • 2021-03-04
        • 2021-05-21
        • 2021-10-26
        • 2017-11-09
        相关资源
        最近更新 更多