Вы можете переопределить sys.stdout
:
class WriteToWindow():
def write(self, text):
... # write text to your window
def flush(self):
pass # this method should exist, but doesn't need to do anything
import sys
sys.stdout = WriteToWindow()
Теперь все, что записано на стандартный вывод, включая вызовы print
, будет отправлено вашему классу WriteToWindow
.