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
_______________________________________________
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Odpovedet emailem