我正在尝试在我的应用程序的状态栏上显示一些已连接/已断开连接的消息。它是一个用 C++ 编写的控制台应用程序,带有 Qt GUI。当连接状态发生变化时,连接处理程序会调用一个回调(在一些与 gui 相关的对象中),它会更新 GUI。我可以在我的 QGraphicsScene 上绘图,但是当我尝试使用 QStatusBar 的 showMessage 方法时,有时它会立即崩溃,有时它会一直工作到几次调用(但超时后消息不会消失)。我收到此错误消息:
QObject: Cannot create children for a parent that is in a different thread.
(Parent is QStatusBar(0xae55feb0), parent's thread is QThread(0xb3e006f0), current thread is QThread(0xb0c00478)
QObject::startTimer: QTimer can only be used with threads started with QThread
QPixmap: It is not safe to use pixmaps outside the GUI thread
我认为这意味着未从 GUI 线程调用 showMessage。那么如何在状态栏上显示连接状态的变化呢?