Seite 1 von 1

ProgressBar wieder zurücksetzen?

Verfasst: Samstag 19. April 2014, 16:51
von machupicchu
Hi,

ich möchte QProgressBar zurücksetzen.

Code: Alles auswählen

    def openFile(self):
        fileOpen, filter = QFileDialog.getOpenFileName(self, 'file', '/home')
        with open(fileOpen, 'r') as fileRead:
            data = fileRead.read()
            self.text_edit.setText(data)
        self.progress_Bar.setValue(100)         <---------------------Wird auf 100 gesetzt
        self.status_Bar.showMessage('Ready', timeout=5000)
        self.progress_bar.setValue(0)             <---------------------Wieder auf Null setzen
Setze den Wert nach meinem request gleich auf 100. Möchte anschließend danach den Wert wieder auf Null setzen, da es auf meiner GUI unschön aussieht. Mit der Methode reset() oder einen anderen Methode hatte ich es auch vergeblich versucht.

Hat jemand noch eine andere Idee wie ich den Wert wieder auf Null setzen kann.

Re: ProgressBar wieder zurücksetzen?

Verfasst: Samstag 19. April 2014, 17:07
von EmaNymton
Könntest du mal erläutern, was du hier mit dem progressbar anzeigen willst?
Wenn es nur um das Laden einer lokalen Datei geht ist das imho das falsche Mittel, hier reicht doch eine Anzeige im Statusbar oder von mir aus ein kleiner Dialog, ob das Laden erfolgreich war oder nicht.

Re: ProgressBar wieder zurücksetzen?

Verfasst: Samstag 19. April 2014, 17:12
von machupicchu
Das ist eigentlich wurscht was ich da lade. Will es nur zurücksetzen. In dem Beispiel geht es um eine Filedatei.

Re: ProgressBar wieder zurücksetzen?

Verfasst: Samstag 19. April 2014, 17:20
von EmaNymton
Was genau geht denn jetzt nicht bzw. was ist "unschön"?
reset ist hier die Methode zum Zurücksetzen, ansonsten habe ich nicht verstanden, was dein Problem ist.

Re: ProgressBar wieder zurücksetzen?

Verfasst: Samstag 19. April 2014, 17:25
von machupicchu
Das Problem ist folgendes:

Mein ProgressBar ist auf 100, d.h. der load Balken ist voll (grün).

Jetzt möchte ich diesen wieder auf 0 setzen,so, dass mein load Balken leer ist. Also nicht mehr grün.

Re: ProgressBar wieder zurücksetzen?

Verfasst: Samstag 19. April 2014, 17:28
von EmaNymton
Dann zeig bitte mal ein Minimalbeispiel, dass das Problem reproduziert. In deinem Beispiel-Code sollte der Progressbar am Ende wieder den Wert 0 haben.

Re: ProgressBar wieder zurücksetzen?

Verfasst: Samstag 19. April 2014, 17:36
von machupicchu
ProgressBar ist in dem Beispiel auf 100 gesetzt:

Code: Alles auswählen

 def openFile(self):
        fileOpen, filter = QFileDialog.getOpenFileName(self, 'file', '/home')
        with open(fileOpen, 'r') as fileRead:
            data = fileRead.read()
            self.text_edit.setText(data)
        self.progress_Bar.setValue(100)         <---------------------Wird auf 100 gesetzt
        self.status_Bar.showMessage('Ready', timeout=5000)
Möchte nun diesen wieder auf 0 setzen und hatte folgende Codezeile am Ende hinzugefügt, aber dann ist mein ProgressBar immer auf 0. Oder es geht so schnell, dass ich es nicht sehe :-O

Code: Alles auswählen

self.progress_Bar.setValue(0)

Code: Alles auswählen

 def openFile(self):
        fileOpen, filter = QFileDialog.getOpenFileName(self, 'file', '/home')
        with open(fileOpen, 'r') as fileRead:
            data = fileRead.read()
            self.text_edit.setText(data)
        self.progress_Bar.setValue(100)         <---------------------Wird auf 100 gesetzt
        self.status_Bar.showMessage('Ready', timeout=5000)
        self.progress_Bar.setValue(0)
Weiß nicht was ich da noch erklären soll?

Re: ProgressBar wieder zurücksetzen?

Verfasst: Samstag 19. April 2014, 17:37
von EmaNymton
machupicchu hat geschrieben: ... Oder es geht so schnell, dass ich es nicht sehe :-O
Jepp, deswegen mein erster Kommentar.

Re: ProgressBar wieder zurücksetzen?

Verfasst: Samstag 19. April 2014, 17:40
von machupicchu
Ok, kann man iwie ne pause dazwischen einbauen?

Re: ProgressBar wieder zurücksetzen?

Verfasst: Samstag 19. April 2014, 18:43
von EmaNymton
Ja, kann man (Stichwort Timer in Qt -> QTimer), aber ein Progressbar ist dazu da einen längeren Prozess zu visualisieren und hier beim Öffnen einer lokalen Datei unangebracht, da du ja dem Benutzer vorgaukelst, dass der Prozess wesentlich länger dauert als in Wirklichkeit. Das würde ich an deiner Stelle nochmal überdenken.

Re: ProgressBar wieder zurücksetzen?

Verfasst: Samstag 19. April 2014, 19:51
von machupicchu
Ja hast schon recht! Bin noch am überlegen wie ich das mit dem Progress machen kann, da ja viele Faktoeren eine Rolle spielen. Dachte vorerst an Euklid Algorithm. Wollte die Menge des Textes auslesen und dann eben

Code: Alles auswählen

 text_menge = [x**2  for x in text_menge, if x % 2 not 0]
und anschließend die Variable an mein progress übergeben. Ist eben nur ein beispiel, aber für vorschläge bin ich offen.