[python] gui,vlakna
rainbof na gmail.com
rainbof na gmail.com
Úterý Prosinec 4 19:59:13 CET 2012
Hledal bych metodu process
odeslano z blackberry 9900 (iphone sucks)
-----Original Message-----
From: vepro <p.zlamal na gmail.com>
Sender: "Python" <python-bounces na py.cz>Date: Mon, 03 Dec 2012 13:15:28
To: python na py.cz >> Konference PyCZ<python na py.cz>
Reply-To: Konference PyCZ <python na py.cz>
Subject: [python] gui,vlakna
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 na py.cz
http://www.py.cz/mailman/listinfo/python
Další informace o konferenci Python