[python] gui,vlakna
vepro
p.zlamal na gmail.com
Pondělí Prosinec 3 13:15:28 CET 2012
ahoj,
Potreboval bych poradit s nasledujicim. Vytvarim aplikaci (python 2.7) s
gui (qt4), ktera vycita data z pripojene kamery. Aplikaci resim pomoci
vlaken a zkracene takto:
1] inicializuji gui
2] tlacitko na start vycitani > spusti se vycitaci vlakno z modulu
threading odkazujici na fuknci self.streaming
self.alive_streaming=threading.Event()
self.thread_streaming=threading.Thread(target = self.streaming)
self.thread_streaming.start()
ktera v nekonecne cyklu:
def streaming(self):
while self.alive_streaming.isSet():
vycitani kamery
3] v gui mam tlacitko stop, ktere kdyz zmacknu vyvola:
self.alive_streaming.clear()
Vse koncepcne funguje ok, avsak po startu vycitani gui funguje zcela
nepruzne a trva napr. 5 sec nez dojde k vykonani prikazu stop (reakce
tlacitka na zmacknuti). Je potreba nejaky gui "update"? zkousel jsem
pomoci signalu:
self.connect(self,QtCore.SIGNAL("clicked()"),self.update_streaming_gui)
ve vycitaci smycce pak:
self.emit(QtCore.SIGNAL("clicked()")) #signal> update gui
volajici funkci:
def update_streaming_gui(self):
self.ui.streamingProgressBar.setValue(self.streamer_order)
Coz ma za nasledek update progressbaru, avsak tlacitka jsou nadale "mrtva".
Nejake rady, navrhy?
Diky
Petr
Další informace o konferenci Python