Protokolle und GTK

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

Protokolle und GTK

Beitragvon scrippi » 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
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » 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

Beitragvon scrippi » 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 :(
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » 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

Beitragvon scrippi » 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
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » 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:

Beitragvon veers » 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:
My Website - 29a.ch
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann

Wer ist online?

Mitglieder in diesem Forum: Yahoo [Bot]