dabear Skrevet 30. oktober 2005 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
dayslepr Skrevet 30. oktober 2005 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
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å