这是我通过点击按钮
调用的方法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
完成时都设置标签的文本。可能是什么造成的?
答案 0 :(得分:1)
您的代码在主线程和主线程中执行,UI更新发生在事件回调上。你需要的是强制重绘你的ui。您可以通过调用repaint()
或请求aplication处理QCoreApplication::processEvents()
的事件来执行此操作。你需要在更改标签后制作它。