Protokolle und GTK

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
scrippi
User
Beiträge: 31
Registriert: Montag 6. April 2009, 10:37

Mittwoch 8. April 2009, 16:19

Hallo,

noch mal ne Frage mehr von mir :)

Folgende mögliche Situation

ich habe zB nen FTP und möchte eine datei Raufladen und das in einer Progressbar anzeigen lassen.

Das Erweitern der Progress bar lässt sich ja durch nen gobject.timeout_add anzeigen.

In meiner Denkweise müsste der Uploadprozess Paralel zum Anzeige Prozess durchgängig laufen, und das timeout fragt den Upload Prozess wie weit er ist.

Nur habe ich keine Ahnung wie man dies Umsezt :)

Hat jemand ne idee?

lg scrippi
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Mittwoch 8. April 2009, 16:57

Nutzung eines Uploader-Threads?
My god, it's full of CARs! | Leonidasvoice vs Modvoice
scrippi
User
Beiträge: 31
Registriert: Montag 6. April 2009, 10:37

Mittwoch 8. April 2009, 17:19

zB, wäre ne sache

aber auch eifnach ne while True schleife die nen Porzentbalken bestimmt.

zB

Code: Alles auswählen

while True:
   percent = get_percnet()
   pulse(percent)
zB....irgendwas mit gobject.idle_add aber ich verstehe die funktion nicht so ganz :(
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Mittwoch 8. April 2009, 17:30

``idle_add`` führt ein Callback aus, wenn die Programmschleife gerade Zeit für irgendwelche (kürzeren) Aktionen hat.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
scrippi
User
Beiträge: 31
Registriert: Montag 6. April 2009, 10:37

Mittwoch 8. April 2009, 17:37

hm ok verstehe

und wie macht man das wenn man zB eine Funktion Parallel laufen lassen will die dann zB nen Prozessbalken auf dem laufendem hällt, zB bei einem UploadProzess?

lg
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Donnerstag 9. April 2009, 08:09

Zum beispiel einen Thread laufen lassen der ab und zu einen Wert aktualisiert, den Fortschritt. Dieser kann vom Fortschrittsbalken abgefragt werden. Oder der Thread kann ein Signal senden, dass es neuen Fortschritt gibt, den man im Balken darstellen kann.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Freitag 10. April 2009, 00:41

http://29a.ch/git/gitweb.cgi?p=lanshark ... =HEAD#l846 so habe ich das bei lanshark gelöst :wink:
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Antworten