在函数中间使用stdout.flush()

时间:2018-07-26 00:58:49

标签: python python-2.7 pyqt pyqt5 qtextedit

我有使用PyQt5创建的GUI,我正在尝试使用以下代码将函数的输出打印到QtextEdit:

class MyStream(QObject):
   textWritten = pyqtSignal(str)    

   def write(self, text):
      self.textWritten.emit(str(text))

然后

sys.stdout = MyStream(textWritten = self.myfunction)

此问题是在打印到gui之前,它等待整个功能执行。因此,在函数而不是打印函数中,我尝试使用sys.stdout.write(“ some string”)和sys.stdout.flush()。问题是,即使它立即打印到gui,该函数也会在flush()语句之后停止执行。有人可以指出我的错误或指出一种更好的方法来解决此问题。谢谢!

0 个答案:

没有答案