我有一个线程,每30秒检查一个sftp服务器的新文件。如果它找到文件,它会将它们上载到数据库,然后它应该触发某些GUI元素的更新,这些元素将从数据库重新加载。在
自定义事件代码:EVT_RESULT_ID = wx.NewId()
def EVT_RESULT(win, func):
"""Define Result Event."""
win.Connect(-1, -1, EVT_RESULT_ID, func)
class ResultEvent(wx.PyEvent):
"""Simple event to carry arbitrary result data."""
def __init__(self, data):
"""Init Result Event."""
wx.PyEvent.__init__(self)
self.SetEventType(EVT_RESULT_ID)
self.data = data
ftp线程:
^{pr2}$
GUI元素之一:class MyGrid(wx.grid.Grid):
def __init__(self, parent):
wx.grid.Grid.__init__(self, parent,-1,style=wx.EXPAND)
self.parent=parent
...
self.update()
EVT_RESULT(self, self.updateFromEvent)
def updateFromEvent(self,event):
self.update()
def update(self):
...
在调试之后wx.事件后正在创建,但不会在网格中触发任何响应。在
我在这个例子和我的代码之间唯一的区别是,在这个例子中,EVT_RESULT在主框架中,而不是GUI元素——这是必需的吗?在