int Patcher::execMaj() { if (maj_avalible <= 0) return 0; QProgressBar progressBar; progressBar.setMaximumHeight(16); progressBar.setMaximumWidth(200); //progressBar->setTextVisible(false); progressBar.setRange(0,maj_avalible); this->statusBar()->addPermanentWidget(&progressBar, 0); this->statusBar()->showMessage(QString("Loading")); int nb = 0; int i = 1; for(patcher::Maj& maj : majs) { this->statusBar()->showMessage(QString("download "+QString::number(i)+"/"+QString::number(maj_avalible))); if(not maj.isDone()) nb+= maj.apply(); progressBar.setValue(++i); } this->statusBar()->clearMessage(); this->statusBar()->removeWidget(&progressBar); return nb; }
void MainWindow::createProgressBar() { QxtProgressLabel* label = new QxtProgressLabel(statusBar()); QProgressBar* bar = new QProgressBar(statusBar()); bar->setMaximumWidth(label->sizeHint().width() * 2); bar->setRange(0, 120); QTimeLine* timeLine = new QTimeLine(120000, this); timeLine->setFrameRange(0, 120); connect(timeLine, SIGNAL(frameChanged(int)), bar, SLOT(setValue(int))); connect(timeLine, SIGNAL(finished()), label, SLOT(restart())); connect(bar, SIGNAL(valueChanged(int)), label, SLOT(setValue(int))); timeLine->start(); statusBar()->addPermanentWidget(new QLabel(tr("Dummy Progress:"), this)); statusBar()->addPermanentWidget(bar); statusBar()->addPermanentWidget(label); }