我有一个普通的C ++对象,该对象在单独的线程中运行数据获取例程,并使用带有以下签名的名为acquisitionStageChangedEvent的Boost信号通知进程:boost::signal2::signal<void(const std::string &)>。如何在没有跨线程异常的情况下在新线程中开始获取并使用此信息更新UI?

最佳答案

在信号处理程序中将std::atomic<bool>设置为true,然后从QTimer检查该标志。

10-08 08:21