标准输出到 tkinter GUI [英] stdout to tkinter GUI

查看:51
本文介绍了标准输出到 tkinter GUI的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何将标准输出数据重定向到 tkinter 文本小部件?

How can I redirect stdout data to a tkinter Text widget?

推荐答案

您需要创建一个类文件类,其 write 方法改为写入 Tkinter 小部件,然后执行 sys.stdout = <你的新课程>.请参阅这个问题.

You need to make a file-like class whose write method writes to the Tkinter widget instead, and then do sys.stdout = <your new class>. See this question.

示例(从链接复制):

class IORedirector(object):
    '''A general class for redirecting I/O to this Text widget.'''
    def __init__(self,text_area):
        self.text_area = text_area

class StdoutRedirector(IORedirector):
    '''A class for redirecting stdout to this Text widget.'''
    def write(self,str):
        self.text_area.write(str,False)

然后,在您的 Tkinter 小部件中:

and then, in your Tkinter widget:

# To start redirecting stdout:
import sys
sys.stdout = StdoutRedirector( self )
# (where self refers to the widget)

# To stop redirecting stdout:
sys.stdout = sys.__stdout__

这篇关于标准输出到 tkinter GUI的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆