Я написал симулятор для микроконтроллера, где я передаю результаты функций с событиями в графический интерфейс.Проблема в том, что функции, связанные с событиями, никогда не вызывались.У меня есть графический интерфейс и симулятор в двух разных потоках.
'''Event class'''
NewRAMEvent = wx.NewEventType()
EVT_NEW_RAM = wx.PyEventBinder(NewRAMEvent, 1)
class RAM_Event(wx.PyCommandEvent):
def __init__(self, location = None, val = None):
wx.PyCommandEvent.__init__(self)
self._location = location
self._val = val
def SetVals(self, val, loc):
self._location = loc
self._val = val
def GetVal(self):
return self._val
def GetLocation(self):
return self._location
'''Creating event'''
evt1 = RAM_Event(0x03, uC.programCounter)
wx.CallAfter(recipient.ProcessEvent, evt1)
print("RAM event sent")
'''adding recipient to list and creating thread for simulator'''
simuThread = SimulatorThread()
simuThread.add_event_recipient(Myfrm)
'''GUI class'''
self.Bind(EVT_NEW_RAM, self.updateRAM)
def updateRAM(self, event):
print("received Event")
location = event.GetLocation()
value = event.GetVal()
print("value:", value)
RAM.writeToTable(self, location, value)
return
Когда я смотрю на консоль, я вижу сообщение о том, что оно было отправлено, но не получено.