Hallo,
ich ahbe das selbe Problem auf meinem Mac. Unter WIn wird die Progressbar korrekt ausgeführt. Unter Mac OS (10.5.6/Qt4.4.3) erscheint sie manchmal und wenn dann ohne einen Fortschritt anzuzeigen.
Es soll der Fortschrit einer Datei öffnen Funktion angezeigt werden. Momentan öffne ich 4-5 Dateien zum testen, welche auch nicht sehr große sind (max. 2kB). Unter Win läuft alles prima, aufm Mac wird sie wie gesagt nur ab und an leer angezeigt.
Code: Alles auswählen
Funktion zum einrichten er ProgressBar:
void ImportExport::setProgressBar(int files, int minFiles, QString msg)
{ //! set progressbar with number of files, min. files to be activated, message string
if (files < minFiles)
return; //return if progressbar is not needed (not enough files)
QRect mainWindowGeometry = QMainWindow().geometry();
progressBar->setGeometry((mainWindowGeometry.width()-100)/2, (mainWindowGeometry.height()-30)/2, 200, 28);
progressBar->setWindowFlags(Qt::Tool | Qt::WindowStaysOnTopHint);
progressBar->setAlignment(Qt::AlignHCenter);
progressBar->reset();
progressBar->setRange(0, files);
progressBar->setFormat(msg + " %p%" );
progressBar->show();
}
ausführende Funktion (Ausschnitt):
bool ImportExport::OpenPrepare(QStringList files)
{ //! prepare file opening of string list content and call open reinforce function
...
setProgressBar(files.count(), 3, msg_progress_fopen); //set progressbar
//if files are selected, get each in a new page
for (i=0; i< files.count(); i++)//for1
{
//inc. progressbar
progressBar->setValue(i);
progressBar->update();
...
}//for1
progressBar->hide(); //hide progressbar
}
Ich bin ratlos. Ein progressBar->update(); oder ein progressBar->repaint(); bringen gar nichts. Irgendeine Idee?
Grüße,
M