Al final lo solucione con procesos.
Con Tkinter la ventana y el puerto serie no necesitaban de procesos:
ventana.after(1, update)
Pero con Wx ni eventos, ni Refrehs, con un proceso solucionado.
Termetro por serial.
Código:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import wx
import wx.gizmos as gizmos
import serial
from threading import Thread
ser = serial.Serial('/dev/ttyACM0', 9600)
class TermoTrehad(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self, parent, size=(600, 150))
self.led = gizmos.LEDNumberCtrl(self, -1, (0, 30), (130, 50))
self.led.SetForegroundColour("red")
t = Thread(target=self.empieza)
t.start()
def empieza(self):
while True:
self.dato = ser.readline()
self.led.SetValue(str(self.dato))
if __name__ == '__main__':
app = wx.App()
frame = TermoTrehad(None)
frame.Show()
app.MainLoop()