Qtimer阻塞插槽值

Qtimer阻塞插槽值,qt,qtimer,Qt,Qtimer,嗨,我有一个吼叫代码。我想增加一些延迟(6秒)来显示qmesagebox。但在后台读取2个端口。我不想延迟块端口值 motorStart(); QString msv = "msv?0;"; loadcellPort->write(msv.toStdString().c_str(),msv.length()); plotFlag = true; newPlot = true; ui->startButton->setEnabled(false); ui->can

嗨,我有一个吼叫代码。我想增加一些延迟(6秒)来显示qmesagebox。但在后台读取2个端口。我不想延迟块端口值

  motorStart();

QString msv = "msv?0;";
loadcellPort->write(msv.toStdString().c_str(),msv.length());

plotFlag = true;
newPlot = true;

ui->startButton->setEnabled(false);
ui->cancelButton->setEnabled(false);

QTimer::singleShot(5000,this,SLOT(onSerialLoadcellData()));

QMessageBox::information(this,"Bastak Test",json_map["QWater"].toString(),json_map["QFinishAccept"].toString());
我以前使用过QThread,这个线程阻塞端口值

class Sleeper : public QThread
{
 public:
static void msleep(unsigned long msecs){QThread::msleep(msecs);}

 };

我找不到任何插入插槽()的方法。您在哪里调用
sleep
?我在你的代码里没看到,我以前用过。我将替换为QTimer::singleShot。。。。线状轨枕:msleep(5000);对不起,我现在还不确定你的问题是什么<代码>轨枕::msleep(5000)将阻塞线程5秒钟,但
QTimer::singleShot
不会阻塞线程并立即返回并在5秒钟内调用插槽。