#!/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()
在不打印「測試」,它甚至可以運行,但與打印「測試」,它不運行也不重定向輸出。重定向標準輸出在GUI將消息打印,而不是終端
如何將標準輸出重定向到gui而不是終端打印消息?
請修正您的setstd縮進()。我很確定我知道你的意思,但縮進在Python中很重要。 – robert 2010-08-19 21:40:26
完成,固定縮進 – 2010-08-19 21:49:42