我对 wxpython 很陌生,还没有学习进程或线程。每当处理数据时,我一直在在线检查我的无响应窗口问题。我在网上看到了很多例子,但我找不到我的问题的解决方案(可能我没有明白这一点)因为我不使用线程,它只是一个使用 while 循环的普通简单程序,它必须是在while循环内大约150秒,同时我将打印文本重定向到日志窗口,该窗口也被冻结,当我转到其他选项卡时,窗口显示没有响应,而这个程序正在处理中,请建议我解决方案. 代码是这样的,我在重定向文本时使用了 Mike 的逻辑。
class RedirectText(object):
def __init__(self,aWxTextCtrl):
self.out=aWxTextCtrl
def write(self,string):
self.out.WriteText(string)
Class GUI(wx.Frame):
def __init__(self, parent):
# All the frame work
# redirected print to the stdout
def run(self, input):
#calls another operation
self.set_BankID(BankID, serSCU,SerialLogResult)
def set_BankID(self,BankID, serSCU,SerialLogResult):
#while loop
iteration=0
While iteration < 3:
wx.Yield()
while process = 0:
wait 150 secs
#end of inner while loop
#condition met for iteration
#End of outer while loop
if __name__ == '__main__':
app=wx.App(False)
frame =GUI(None)
frame.Show()
app.MainLoop()