C++ QLabel未正确更新

C++ QLabel未正确更新,c++,qt,qlabel,C++,Qt,Qlabel,我试图在一个进程之后更新QLabels,我使用了信号和插槽 信号: void LayerCountUpdate(int, double, double); 方法: LayerCountUpdate(TotalLayers, formatting->GetPrintTime(), formatting->GetResinConsumption()); 插槽: void ui\u prt\u设置::UpdateUIInfo(整数计数、双倍时间、双倍成本) { _ui->info_La

我试图在一个进程之后更新QLabels,我使用了信号和插槽

信号:

void LayerCountUpdate(int, double, double);
方法:

LayerCountUpdate(TotalLayers, formatting->GetPrintTime(), formatting->GetResinConsumption());
插槽:

void ui\u prt\u设置::UpdateUIInfo(整数计数、双倍时间、双倍成本)
{
_ui->info_LayerCount->setText(QString::number(count));
_ui->info_volumeValue->setText(QString::number(cost));
_ui->info\u timeEstimate->setText(QDateTime::fromTime\u t(time).toUTC().toString(“hh:mm:ss”);
qDebug()信息层计数->文本();
qDebug()信息量值->文本();
qDebug()信息\时间估计->文本();
}

据推测,标签输出与QDebug中显示的不匹配。如果QLabel“infoLayerCount”上的预期文本为12,则仅显示1。如果我尝试了其他数据,它仍然只显示第一个数字。

我通过添加adjustSize()修复了这个问题函数

void ui_prt_settings::UpdateUIInfo(int count, double time, double cost)
{
    _ui->info_LayerCount->setText(QString::number(count));
    _ui->info_volumeValue->setText(QString::number(cost));
    _ui->info_timeEstimate->setText(QDateTime::fromTime_t(time).toUTC().toString("hh:mm:ss"));

    qDebug()<< _ui->info_LayerCount->text();
    qDebug()<< _ui->info_volumeValue->text();
    qDebug()<< _ui->info_timeEstimate->text();
}