[Python] gui e seriale in contemporanea
Perini Matteo
perini.matteo a gmail.com
Mar 5 Ago 2014 21:20:24 CEST
Il 05/08/2014 16:25, Marco Giusti ha scritto:
> vediamo se così va'
> meglio.
HO modificato il codice così...
import time
import threading
import serial
import gtk
import gobject
class Quit(Exception):
pass
class Gui:
def __init__(self, quit):
self.quit = quit
win = gtk.Window()
win.connect("destroy", lambda w: self.exit())
self.textbuffer = gtk.TextBuffer()
textview = gtk.TextView(self.textbuffer)
textview.set_editable(False)
sw = gtk.ScrolledWindow()
sw.add(textview)
win.add(sw)
win.set_default_size(300, 200)
win.show_all()
def exit(self):
self.quit.set()
gtk.main_quit()
def add_text(self, text):
enditer = self.textbuffer.get_end_iter()
self.textbuffer.insert(enditer, text)
class Thread2 (threading.Thread):
def __init__(self, name, gui, quit):
threading.Thread.__init__(self, name=name)
self.__gui = gui
self.__quit = quit
def run(self):
self.ser=serial.Serial("/dev/ttyACM0",9600)
while True:
line = self.ser.read()
gobject.idle_add(self.__gui.add_text, line)
if __name__ == "__main__":
gobject.threads_init()
quit = threading.Event()
gui = Gui(quit)
t = Thread2("Serial", gui, quit)
t.start()
gtk.main()
e funziona bene!!
Grazie mille.
Provo a studiarmi un po il codice... perché ci sono delle cose che non
capisco bene.
A breve ci risentiremo con nuove domande temo.
Ciao e grazie ancora.
Matteo.
Maggiori informazioni sulla lista
Python