gpt4 book ai didi

python - 重定向标准输出以在 gui 而不是终端中打印消息

转载 作者:太空宇宙 更新时间:2023-11-04 11:03:13 33 4
gpt4 key购买 nike

#!/usr/bin/python

import wx
import os
import sys

class MyFrame(wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title, size=(480, 400))
self.panel = MyPanel(self, -1)
self.Centre()
self.Show(True)
setstd()
print 'test'
"""
syncall()
"""

class MyPanel(wx.Panel):
def __init__(self, parent, id):
wx.Panel.__init__(self, parent, id)
self.text = wx.StaticText(self, -1, '', (40, 60))

class MyText():
def write(string):
label = frame.panel.text.GetLabel()
frame.panel.text.SetLabel(string)

def setstd():
sys.stdout = MyText()
sys.stderr = MyText()

app = wx.App()
frame = MyFrame(None, -1, 'DropBox log')
app.MainLoop()

没有 print 'test',它甚至可以运行,但是使用 print 'test',它既不运行也不重定向输出。

如何重定向标准输出以在 gui 而不是终端中打印消息?

最佳答案

当你在 wxPython 中使用 print 语句时,它在哪里结束取决于你如何调用 wx.App()

wx.App(redirect=False) 或简单的 wx.App(0) 会将打印语句发送到控制台窗口,否则它们将被发送到一个小文本框窗口。

关于python - 重定向标准输出以在 gui 而不是终端中打印消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3526461/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com