我有一个普通的 C++ 对象,它在单独的线程中运行数据采集例程,并使用名为 acquisitionStageChangedEvent
的 Boost 信号通知进程具有以下签名:boost::signal2::signal<void(const std::string &)>
.如何在新线程中开始获取并使用此信息更新 UI 而不会出现跨线程异常?
最佳答案
设置一个 std::atomic<bool>
在你的信号处理程序中设置为 true 并检查 QTimer
中的标志.
关于c++ - 如何从另一个线程中引发的 Boost 信号更新 Qt GUI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30158093/