[python] odzielny wątek, pygtk
: 29 maja 2010, 17:38
Zrobiłem aplikację w Pythonie i przy pomocy Glade przygotowałem dla niej prosty interfejs graficzny. Naciśnięcie przycisku 'Start' wywołuje funkcję wyglądającą mniej-więcej tak (duże uproszczenie, ale oddaje ideę):
Problem jest w tym, że liczenie w pętli 'while' zajmuje dużo czasu. Podczas tego liczenia program jest zamrożony i nic się nie dzieje i nic nie można zrobić. Chciałbym zrobić, żeby po kliknięciu przycisku 'Start' program liczył swoją drogą, a reszta aplikacji działała normalnie. Chciałbym też, żeby podczas liczenia co np. 1 sekundę w 'logwindow1' pokazywał tekst 'wynik' dopóki nie skończy liczyć i wtedy pokazał ostatni 'wynik'. Proszę o pomoc i chciałbym skorzystać z jakiegoś megaprostego i szybkiego w realizacji sposobu na zrobienie tego.
Pozdrawiam.
Kod: Zaznacz cały
def button_start(self, widget):
global lista
while lista != []:
wynik = funkcja.licząca(lista[0])
del lista[0]
self.logwindow1.set_text(wynik)
Pozdrawiam.