pyGTK progress bar ohne gtk.events_pending()

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
rhersel
User
Beiträge: 105
Registriert: Mittwoch 3. Dezember 2008, 11:29

Ich brauche eine ProgressBar, die läuft (pulse) solange eine Verarbeitung dauert. Die Verarbeitung besteht nur aus einem Befehl und wird nicht wiederholt:

Code: Alles auswählen

page = urllib2.urlopen(url).read()
Es gibt keine Möglichkeit eine Schleife zu nutzen:

Code: Alles auswählen

while gtk.events_pending():gtk.main_iteration()
weil eben nur ein Befehl ausgeführt wird der sehr lange dauert.

Wie kann man das lösen? (Möglichst ohne threading oder pseudo-threading).
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Falsches Forum?

Edit (Leonidas): Aye, verschoben.
BlackJack

@rhersel: Ohne Nebenläufigkeit in irgendeiner Form gar nicht. Wie sollte das auch gehen!?

Ich würde einfach einen Thread zum Herunterladen starten, und solange der noch nicht zuende ist, in regelmässigen Abständen für's "Pulsieren" sorgen.
rhersel
User
Beiträge: 105
Registriert: Mittwoch 3. Dezember 2008, 11:29

@BlackJack:
Danke, jetzt weiss ich wenigstens, dass es nicht ohne Thread geht. Ich nehme an, dass auch ein Animated GIF vom GTK.EventHandler abhängig ist, oder würde das alleine ablaufen?
Antworten