QProgressBar wird nicht gezeichnet



  • Hallo,

    ich hab da so ein Download-Fenster. Man gibt ne URL ein, tippt auf Enter und dann wird so ein Ladebalken in ein QListWidget gesetzt, was sich auch im Download-Fenster befindet. Man kann mehrere Ladebalken haben, einen pro Verbindung. Wenn ein Ladebalken, bzw. ein Thread das finished()-Signal abgibt, wird der Ladebalken wieder aus der Liste entfernt.

    Das Problem ist nun aber so, dass dadurch irgendein Nachbar-Ladebalken schlussendlich seine Farbe verliert und wie eine leere Zeile aussieht. Der Ladebalken ist aber sehr wohl noch existent. Der Thread arbeitet auch weiter, bis alles abgehandelt wurde, dann wird der "unsichtbare und als leere Zeile getarnte" Ladebalken aus der Liste entfernt.

    Threads mache ich mit QRunnable und QThreadPool.
    Ich habs schon mit QApplication::processEvents() und mit QWidget::repaint() versucht, erfolglos.
    Ich hab auch versucht die Events des Ladebalkens mittels QObject::moveToThread() im nächsten Thread zu verarbeiten, erfolglos.

    Was mach ich denn jetzt? Eigentlich störts mich nicht, und das Programm funktioniert ja auch (immerhin) aber es sieht halt noch nicht top aus. Das wird doch irgendwie zu machen sein?



  • Ahja, und die Ladebalken sind direkte Kinder der Liste selbst.



  • Ich drück den Thread mal wieder nach oben, weil ich weiß nicht, was ich denn sonst noch probieren sollte.


Log in to reply