ProgressBar

Fragen zu Tkinter.
Antworten
search
User
Beiträge: 67
Registriert: Donnerstag 24. April 2008, 10:03
Wohnort: In Deutschland

Hallo zusammen, ich habe da mal wieder so eine Frage... :shock:

Keine Angst, auch wenn der Titel schon alles sagt. Folgenden Code habe ich im Netz gefunden (ja, ich habe auch hier so einige Infos zu einem Fortschrittsbalken gefunden):

Code: Alles auswählen

#!/usr/bin/python
# -*- coding: utf-8 -*-
import Tkinter as tk
root = tk.Tk()
root.geometry("300x100+0+0")
space = " "
s = ""
label = tk.Label(root, text=s, bg='blue')
label.pack(anchor='nw')
for k in range(80):
    s += space
    label.after(100,label.config(text=s))
    label.update() # needed

root.mainloop()
Gut, es geht eigentlich auch nicht um den Code, wollte ihn nur als Beispiel mitbringen. Meine Frage nun:

Wie wird so eine ProgressBar eigentlich Programmiert? Z.B. ich kopiere Datei A nach B, das dauert ein paar Sekunden. Wie kann ich den Balken nun so Programmieren, das er genau so lange braucht wie die Kopie der Datei? Versteht ihr was ich meine :roll: ? Weil ich weiß doch nicht wie lang die Kopie z.B. braucht? Woher also nehme ich die Informationen um meinen Balken anzupassen?

Ich habe keine Ahnung wie so was gemacht wird, habe auch nicht die geringste Idee, suche aber noch im Netz nach einem Beispiel. Wenn einer ein Beispiel hat oder einen Link zu einem Beispiel, dass wäre Super.

Danke für eure Mühe und Hilfe.
Gruß
Stefan
BlackJack

Du zeigst in dem Fortschrittsbalken ja nicht die Zeit an, sondern wieviel von der Datei schon kopiert wurde. Dazu muss man halt die Datei in viele kleine Häppchen zerlegen, also zum Beispiel Die Dateigrösse durch 100 teilen, und dann nach jedem kopierten Häppchen den Fortschrittsbalken um ein Prozent weiter setzen.
search
User
Beiträge: 67
Registriert: Donnerstag 24. April 2008, 10:03
Wohnort: In Deutschland

@BlackJack
Ja, dass mit der Zeit war ja auch nur ein Beispiel! Danke erst mal für den Hinweis, jetzt habe ich wenigstens mal so eine Ahnung wie das Funktionieren könnte.

Gruß
Stefan
T1m1
User
Beiträge: 23
Registriert: Donnerstag 28. Januar 2010, 09:23

Mal ne kurze frage zu der progress bar da oben...

Wenn ich den Code unter Python starte funkioniert er einwandfrei... möchte ich ihn jedoch in meine GUI einbinde, wird der Hintergrund aofort auf Blau gesetzt.. habe mal als Test anstelle des Leerzeichens einen Strich ausgeben lassen. Die Progress Bar läuft einwand frei.. nur einen "blauen Balken" kann ich nicht darstellen da am Anfang alles auf Blau gesetzt wird...

Vielleicht kann mir ja jemand zufällig Helfen :-)
dahaze
User
Beiträge: 75
Registriert: Freitag 13. März 2009, 10:57
Wohnort: im Schwabenland

Hallo!
- ich versuch dir mal >zufällig< zu helfen... :)

So pauschal kann man das nicht sagen, da ich nicht weiss wie du die Progressbar in deinen Code einbindest.
Wenn man sich den Code mal genauer anschaut "entsteht" die Progressbar nur dadurch, dass das platzierte Label mit blauem Hintergrund größer wird.
Ich vermute du bindest dieses Label bereits mit einer festen Größe in deine GUI ein, deshalb scheint die Progressbar von Anfang an voll!?

Btw. gibt es hier im Forum schönere Lösungen für eine Progressbar.
Einfach mal die Sufu benutzen! :wink:
Antworten