This question already has an answer here:
How to update a window in QT?

(1个答案)


去年关闭。




我试图在完成一个过程后更新QLabels,并且使用了信号和插槽。

信号:
void LayerCountUpdate(int, double, double);

方法 :
LayerCountUpdate(TotalLayers, formatting->GetPrintTime(), formatting->GetResinConsumption());

广告位:
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();
}

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

最佳答案

我通过添加 AdjustSize()来解决此问题。 QLabel的函数。

关于c++ - QLabel更新不正确,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57881904/

10-15 00:55