c++ - 如何从另一个线程中引发的 Boost 信号更新 Qt GUI?

标签 c++ qt concurrency boost-signals2

我有一个普通的 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/

相关文章:

c++ - Qt Creator 5 - 没有设置调试器

google-app-engine - 谷歌应用引擎 : concurrent user registrations

java - 一个函数如何变成原子的?

objective-c - 多个dispatch_async()完成时的回调

c++ - 骑士游c++递归

C++ : overflow in implicit constant conversion [-Woverflow]

c++ - QT QTableWidget::item() 返回 nullptr,即使 widget 分配给它

c++ - 在 C++ 中处理字符串时如何使用 memset?

c++ - 处理图像的多重转换

c++ - 如何编写QVector fo txt文件