dabear Skrevet 30. oktober 2005 Del Skrevet 30. oktober 2005 La oss si jeg har # Create the progressbar self.progress = gtk.ProgressBar() vbox.pack_start(self.progress, False, False, 0) med self.progress.pulse() får jeg da flytta den framover. Hvordan kan jeg få den til å bounce fram og tilbake på skjermen? Jeg har sett litt på gtk.ProgressBar informasjonen, men den sier ikke noe. Må jeg inn med threads osv? dette begynner å bli vanskelig Lenke til kommentar
dayslepr Skrevet 30. oktober 2005 Del Skrevet 30. oktober 2005 (endret) ja, skal den gå frem og tilbake må du kalle pulse med gjevne mellomrom, slik som nevnt i dokumentasjonen du linker til om dette skal skje i "bakgrunnen" må du enten bruke en bakgrunnstråd, eller bruke en loop der du er innom en gang i blant og oppdaterer progressbaren når du er ferdig med en "del" av en større oppgave litt vankelig og si noe om hva som er lurest sånn uten mer kontekst - men jeg vil tro du ikke trenger threading for dette edit: da jeg ikke kan nok Python ennå, paster jeg et lite ex. i Lisp som illustrerer hvordan man kan gjøre det med en bakgrunnstråd (håper den er forståelig uavhengig av språk): (defun pulse () (write-line "solving a small part of a big task..") (finish-output)) (defun bigTask () ;; Solving takes some time. (sleep 10)) (defun myProgram () ;; Spawn a background-thread that sends a ;; pulse every second. Store the thread-id in ;; a variable called `progress-bar-update-thread'. (let ((progress-bar-update-thread (withThread (loop (pulse) (sleep 1))))) (bigTask) (write-line "big task solved!") ;; Stop the thread that sends pulses. (destroyThread progress-bar-update-thread))) Endret 30. oktober 2005 av dayslepr Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå