为什么不刷新Qt标签?

时间:2015-08-16 17:26:51

标签: c++ qt qt4

这是我通过点击按钮

调用的方法
void ChangeLabelText(QLabel* myLabel)
{
    int countNumber = 0;
    for(int i = 0; i < 9999; i++)//outer loop
    {
        for(int k = 0; k < 65000; k++)//inner loop
        {
            countNumber++;
        }
        myLabel->setText(QString::number(countNumber));
    }
}

当代码运行时,标签的文本设置在outer loop的末尾,但我希望每次inner loop完成时都设置标签的文本。可能是什么造成的?

1 个答案:

答案 0 :(得分:1)

您的代码在主线程和主线程中执行,UI更新发生在事件回调上。你需要的是强制重绘你的ui。您可以通过调用repaint()或请求aplication处理QCoreApplication::processEvents()的事件来执行此操作。你需要在更改标签后制作它。