首页 > 解决方案 > 如何将 python 控制台输出嵌入到 wxPython

问题描述

有没有办法可以将控制台窗口嵌入到 wxPython 表单中?

当我运行我的代码时,python 控制台和 wxPython 表单都打开了,但我想以某种方式查看 App 窗口上的信息

标签: python-3.xwxpython

解决方案


经过一番搜索,我找到了一种重定向的方法

class RedirectText(object):
    def __init__(self,aWxTextCtrl):
        self.out = aWxTextCtrl

    def write(self,string):
        self.out.WriteText(string)

然后我只是从 wxPython 设置一个 TextCtrl 将输出重定向到

self.log = wx.TextCtrl(main_panel, -1, size=(200, 100), style=wx.TE_MULTILINE|wx.TE_READONLY|wx.HSCROLL)
redir = RedirectText(self.log)
sys.stdout = redir

推荐阅读