gpt4 book ai didi

c++ - 运行 setValue 时 QTProgressBar 不更新

转载 作者:行者123 更新时间:2023-11-28 00:55:57 25 4
gpt4 key购买 nike

我有一个 for 循环,它在每次迭代时设置进度条的值。for 循环执行此处描述的 setProgress 方法:

void setProgress(int progStep){
progressBar->setValue(progStep);
progStep++;
QTextStream(stdout) << progStep << " " << progSum << endl;
}

我可以打印出最后一行,因此该方法已执行,但进度条的 GUI 并非每次都更新。

当我的最大值为 25(最小值为 0)时,该方法会打印 0-25 之间的每个数字。我的目标是让进度条在此执行期间显示 25 个不同的百分比值。

结构:

 for(.....) {
.....
.....
setProgress(progStep);
}

实际发生的是它用大约 2-3 次的百分比值更新进度条。 for 循环大约需要 30 秒,因此它绝对应该能够进行 25% 的更新。

我该如何解决这个问题?

最佳答案

您必须在调用 setProgress(progStep) 之后调用 QApplication::processEvents(),让 GUI 线程更新进度条。

关于c++ - 运行 setValue 时 QTProgressBar 不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11246066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com