我想从单独的线程中显示一个消息框,但是,我收到此错误:
QThread: Destroyed while thread is still running
任何人都可以解释如何从线程中显示消息框吗?
答案 0 :(得分:3)
发出信号。由于您无法在Qthread
中执行UI内容,而是将您的消息作为信号的参数发送。
信号decalaration:
signals:
void write2SysStatus(QString theMessage);
从qthread发出信号:
emit write2SysStatus("Some status");
QMainWindow中的插槽声明/定义:
public slots:
void eWriteLine ( QString theMessage ){
//this is where you use you message box.
}
连接插槽和信号:
connect(pFPSengine, SIGNAL(write2SysStatus(QString)), this,SLOT(eWriteLine(QString)));