gpt4 book ai didi

c++ - qt gui如何从另一个类(class)获得进步

转载 作者:太空宇宙 更新时间:2023-11-04 13:40:14 25 4
gpt4 key购买 nike

我有一个 Qt-GUI 类“Widget”,我在其中创建了 QProgressButton。“小部件”具有类“引擎”的实例。 'Engine' 中的函数 Start() 在大循环中进行许多计算。我如何从引擎更新这个进度条?我应该使用 QThread 吗?

最佳答案

您不必使用多线程。在“引擎”类中创建指针,如下所示:

QProgressBar* ReferenceBar;

您还需要为此引用在“Engine”类中创建 setter:

void setBar(QProgressBar* bar){
ReferenceBar = bar;
}

在GUI中你必须直接设置进度条:

instanceOfEngine = new Engine();
...
instanceOfEngine->setBar(progressBar);

并在“引擎”循环中激活更新栏:

Start(){
...
for(int i=0; i < x; i++){
//computing....
ReferenceBar->setValue(100*i/(x-1));
}

关于c++ - qt gui如何从另一个类(class)获得进步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27982456/

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