Wert einer `QProgressBar` über angegebenem Maximalwert ansteigen lassen

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Atalanttore
User
Beiträge: 407
Registriert: Freitag 6. August 2010, 17:03

Hallo

ist es in PyQt5 ein Problem bzw. schlechter Stil, wenn bei einer `QProgressBar` der Fortschrittsbalkenwert im Programmablauf immer weiter und weiter über den angegebenen Maximalwert steigt?

Optisch verändert sich am Fortschrittsbalken jedenfalls nichts mehr, sobald der Maximalwert erreicht ist.

Gruß

Atalanttore
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Wenn es nicht abstürzt ist es wohl egal. Es deutet aber natürlich auf ein Problem deiner Seite hin, das nur zu gut viele frustrierte Benutzer kennen - der Balken sagt fertig, aber das Programm ist es noch lange nicht. Gibt es einen Grund, die Berechnung nicht gleich richtig vornzunehmen? Oder alternativ ein anderes Control zu verwenden, das dieses Problem nicht hat. Einen Spinner zb. Der sagt “es tut sich was” ohne konkret eine Beendigung zu suggerieren.
Atalanttore
User
Beiträge: 407
Registriert: Freitag 6. August 2010, 17:03

Der Fortschrittsbalken wird nur für eine einfache grafische Anzeige über die Anzahl aufgetretener Ereignisse zweckentfremdet.
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Atalanttore: Du hast den letzten Absatz in der Detailbeschreibung von `QProgressBar` gelesen‽
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Atalanttore
User
Beiträge: 407
Registriert: Freitag 6. August 2010, 17:03

@__blackjack__: Ja, aber inwiefern beantwortet der letzte Absatz in der Detailbeschreibung meine Frage?
If minimum and maximum both are set to 0, the bar shows a busy indicator instead of a percentage of steps. This is useful, for example, when using QNetworkAccessManager to download items when they are unable to determine the size of the item being downloaded.
Gruß
Atalanttore
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Atalanttore: Na das ist doch genau der Fall den Du hast.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Atalanttore
User
Beiträge: 407
Registriert: Freitag 6. August 2010, 17:03

@__blackjack__: Das aktuelle Verhalten, dass die `QProgressBar` bei Erreichung eines vorgegebenen Maximalwerts (Prozentanzeige ist deaktiviert) komplett ausgefüllt ist und nichts weiter passiert, passt eigentlich schon.

Gruß
Atalanttore
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Atalanttore: Nicht wirklich, weil das wie __deets__ ja schon sagte für Benutzer sehr frustrierend ist. Wenn man keinen echten maximalen Wert bestimmen kann, dann ist Mini- und Maximum auf 0 zu setzen, der vorgesehene Weg für dieses Widget. Wenn Du andererseits gar keinen Fortschrittsbalken möchtest, sondern nur eine Anzahl anzeigen möchtest, dann ist `QProgressBar` nicht das richtige Widget. Dann würde letztlich wohl auch ein `QLabel` ausreichen. Oder vielleicht ein `QLCDNumber`-Widget.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Atalanttore
User
Beiträge: 407
Registriert: Freitag 6. August 2010, 17:03

@__blackjack__: Mit Mini- und Maximum auf 0 zeigt die `QProgressBar` nicht mehr grafisch an, wie weit die Anzahl aufgetretener Ereignisse vom vorgegebenen Schwellenwert noch entfernt ist bzw. ob der Schwellenwert schon erreicht wurde. Ob der Schwellenwert bereits überschritten wurde, ist hingegen nicht relevant und der Fortschrittsbalken darf nach der Erreichung des Schwellenwertes stehen bleiben.

Gruß
Atalanttore
Antworten