自定义事件循环/模拟循环

时间:2014-04-30 18:28:47

标签: qt event-handling simulation

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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

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

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

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