python - 标准输出到 tkinter GUI

标签 python tkinter

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

最佳答案

你需要创建一个类似文件的类,其 write方法改为写入 Tkinter 小部件,然后执行 sys.stdout = <your new class> .参见 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 小部件中:

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

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

关于python - 标准输出到 tkinter GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3333334/

相关文章:

python - Tkinter 。如何在顶级窗口等待变量时销毁根窗口

javascript - 在 Colab 中嵌入 Three.js

python - 如何从DTMF音调获得低频

python - 从 python 中的单个循环创建多个字符串的一行

python - 关于 Pytorch 中的奇数图像尺寸

python - 在 Tkinter 中更新 Canvas

python - Python 程序在 PyCharm 中运行后,Tkinter 窗口自动关闭

python - 制作将自己定位在列表中的按钮

Python:为什么运算符 "is"和 "=="有时可以互换字符串?

python - 如何将 help(tkinter.Tk()) 的内容传输到 python 文件