我使用 QFuture 向我的 ui 应用程序添加线程,我从一个线程调用一个方法并设置了一个观察者和信号,以便在第一个函数完成时调用第二个函数
两者都使用相同的代码来关闭函数
首次使用 QFuture
future = QtConcurrent::run(&Test, &test::getAll);
watcher->setFuture(*future);
第二次使用QFuture
*future2 = QtConcurrent::run(this, &GUI::paintAll);
watcher2->setFuture(*future2);
当第二个被调用时,我收到此警告
QObject::startTimer: timers cannot be started from another thread
然后它有时会崩溃,有时它不会崩溃,但我只是忍不住觉得它与此有关,我现在问了很多关于这个的问题,但没有答案,有人可以告诉我为什么我什至没有被警告计时器使用它们,为什么我只在第二次调用 qfuture 函数时才警告我从来没有在第一次调用?