我将标准错误输出到 wx.TextCtrl,在 10 行之后我想删除第一行,因此我的 wx.TextCtrl 窗口中最多只有 10 行。我有一个使用多个线程和类的 python 脚本。我一生都无法让下面的代码工作,有人可以给我一些提示吗?
a = 1
while True:
line = self.process1.stderr.readline().decode('utf-8')
wx.CallAfter(self.frame.running_log1.AppendText, line)
if a >= 10:
s = wx.CallAfter(self.frame.running_log1.GetLineLength, 0) +1
wx.CallAfter(self.frame.running_log1.Remove, 0, s)
print s
a +=1
当运行 s = None 时,失败。我正在使用 wx.CallAfter,因为我正在使用线程。