Можно заменить sys.std[out|err]
оболочкой, которая записывает весь вывод, например, в QPlainTextEdit.Очень простой пример:
class StdoutWrapper(object):
def __init__(self, outwidget):
self.widget = outwidget
self.widget.setReadOnly(True) # assuming QPlainTextEdit
self.widget.hide()
def write(self, s):
self.widget.show()
self.widget.appendPlainText(s) # again assuming QPlainTextEdit
И еще где-то:
import sys
sys.stdout = StdoutWrapper(yourwidget)
# similar for stderr, but you might want an error dialog or make
# the text stand out using appendHtml