我有一个包含两个线程的简单程序:
由Qt操作的主GUI线程 QApplication::exec
TCP网络线程由 boost::asio::io_service
TCP事件(例如连接或接收数据)会导致GUI发生更改。通常,它们setText
在QLabel上并隐藏各种小部件。当前,我正在TCP客户端线程中执行这些操作,这似乎很不安全。
如何正确地将事件发布到Qt主线程?我正在寻找的Qt变体boost::asio::io_service::strand::post
,将事件发布到boost::asio::io_service
事件循环。