Мигающие индикаторы в wxPython
Я написал небольшой интерфейс с использованием библиотеки wxPython. В нем есть таблица, куда поступают данные с прибора, а внизу статус панель. При приеме или передаче каждого пакета данных с прибора, на статус панели должны мигать индикаторы Tx и Rx типа светодиода на плате. Сейчас это просто статичный текст. Как мне реализовать это мигание зеленым и красным цветом на 30-50 мс при передаче данных? Вопрос касается только стороны GUI, откуда брать сигнал, мне понятно. Какой виджет wxPython лучше использовать и каким образом? Код статус панели:
class MyFrame(wx.Frame):
def __init__(self, parent, title, size):
super().__init__(parent, title=title, size=size)
self.panel = wx.Panel(self)
main_window_sizer = wx.BoxSizer(wx.VERTICAL)
# конфигурация сайзера статусбара
status_bar_sizer = wx.BoxSizer(wx.HORIZONTAL)
tx = wx.StaticText(self.panel, label='Tx: ')
rx = wx.StaticText(self.panel, label='Rx: ')
transmitted_packets_count = wx.StaticText(self.panel, label='Передано: 0 ')
recieved_packets_count = wx.StaticText(self.panel, label='Принято: 0 ')
number_of_log_entries = wx.StaticText(self.panel, label='Количество записей: 0 ')
session_time = wx.StaticText(self.panel, label='Время: 00:00:00 ') # потом убрать слово время и оставить просто тикающее время сессии: ч:м:с
status_bar_sizer.Add(tx, flag=wx.LEFT, border=10)
status_bar_sizer.Add(rx, flag=wx.LEFT, border=10)
status_bar_sizer.Add(transmitted_packets_count, flag=wx.LEFT, border=10)
status_bar_sizer.Add(recieved_packets_count, flag=wx.LEFT, border=10)
status_bar_sizer.Add(number_of_log_entries, flag=wx.LEFT, border=10)
status_bar_sizer.Add(session_time, flag=wx.LEFT, border=10)
main_window_sizer.Add(status_bar_sizer, flag=wx.ALL, border=10,)
self.panel.SetSizer(main_window_sizer)
Так сейчас выглядит интерфейс (индикаторы Tx и Rx в самом низу):
