网站设计软件免费下载,前端培训班一般多少钱,莆田市荔城区建设局网站,wordpress页面更新发布失败我正在开发一个使用pythonv2.7和wxpythonv3.0的GUI应用程序。我必须不断更新我的图形用户界面#xff0c;其中包含许多面板。每个面板包含一个wx.StaticText。我必须不断更新这些wx.StaticTexts。我想用threads。我还使用pubsub模块与GUI通信来更新这些wx.StaticTexts。每件事…我正在开发一个使用pythonv2.7和wxpythonv3.0的GUI应用程序。我必须不断更新我的图形用户界面其中包含许多面板。每个面板包含一个wx.StaticText。我必须不断更新这些wx.StaticTexts。我想用threads。我还使用pubsub模块与GUI通信来更新这些wx.StaticTexts。每件事都按计划进行。我创建了一个简短的演示下面我的真实问题。在问题在我下面的代码中创建了两个线程。这两个线程都能够使用wx.CallAfter()更新GUI。如果我有100个面板要更新怎么办我需要为每个更新特定面板的线程创建100个类吗我希望线程独立于其他线程工作。还有什么比这个更好的方法呢在代码请找到下面的示例代码来进行演示import wxfrom wx.lib.pubsub import setupkwargsfrom wx.lib.pubsub import pubimport timefrom threading import Threadimport threadingclass GUI(wx.Frame):def __init__(self, parent, id, title):screenWidth 500screenHeight 400screenSize (screenWidth,screenHeight)wx.Frame.__init__(self, None, id, title, sizescreenSize)self.locationFont locationFont wx.Font(12, wx.MODERN, wx.NORMAL, wx.BOLD)mainSizer wx.BoxSizer(wx.VERTICAL)myPanelA wx.Panel(self, stylewx.SIMPLE_BORDER)myPanelA.SetBackgroundColour(#C0FAE0)self.myTextA wx.StaticText(myPanelA, -1, I have a problem :( )myPanelB wx.Panel(self, stylewx.SIMPLE_BORDER)myPanelB.SetBackgroundColour(#C0FAFF)self.myTextB wx.StaticText(myPanelB, -1, Me too :( )mainSizer.Add(myPanelA, 1, wx.EXPAND, 5)mainSizer.Add(myPanelB, 1, wx.EXPAND, 5)self.SetSizer(mainSizer)pub.subscribe(self.updatePanelA, Update-panelA)pub.subscribe(self.updatePanelB, Update-panelB)def updatePanelA(self, message):self.myTextA.SetLabel(message)def updatePanelB(self, message):self.myTextB.SetLabel(message)class threadA(Thread):def __init__(self):Thread.__init__(self)self.start()def run(self):ObjA updateGUI()ObjA.methodA()class threadB(Thread):def __init__(self):Thread.__init__(self)self.start()def run(self):ObjB updateGUI()ObjB.methodB()class updateGUI():def methodA(self):while True:time.sleep(3)wx.CallAfter(pub.sendMessage, Update-panelA, messageProblem solved)def methodB(self):while True:time.sleep(5)wx.CallAfter(pub.sendMessage, Update-panelB, messageMine too)if __name____main__:app wx.App()frame GUI(parentNone, id-1, titleProblem Demo)frame.Show()threadA()threadB()app.MainLoop()感谢您抽出时间在