这是我从单击按钮时调用的方法
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));
}
}
当代码运行时,label的文本被设置在outer loop
的末尾,但我希望它在每次inner loop
完成时都设置label的文本。可能是什么原因造成的?
发布于 2015-08-17 07:35:03
在主线程和主线程中执行的代码在事件回调时进行UI更新。您需要的是强制重新绘制您的ui。您可以通过调用repaint()
或请求应用程序使用QCoreApplication::processEvents()
处理事件来完成此操作。您需要在更换标签后制作。
https://stackoverflow.com/questions/32037955
复制