可能重复:
如何隐藏在Windows上运行的应用程序PyQt的控制台窗口?
如何摆脱在Windows上运行的wxPython程序时为标准输出显示在控制台的?
可能重复:
如何隐藏在Windows上运行的应用程序PyQt的控制台窗口?
如何摆脱在Windows上运行的wxPython程序时为标准输出显示在控制台的?
其他人已经建议从PY到pyw重命名的。 如果改为参考输出重定向通过创建wx.App类时重定向=真。
例如,见http://www.wxpython.org/docs/api/wx.App-class.html
的签名__init__
是
__init__(self, redirect=False, filename=None, useBestVisual=False, clearSigInt=True)
如果设置redirect=True
和无,文件名不同sys.stdout
和sys.stderr
将被重定向到文件名。 请注意,在Windows和Mac重定向默认值为True。 如果redirect==True and filename is None
,输出将在从您的其他框架不同的弹出窗口打印。 这是非常有用的,这样在调试时就可以按照所发生的事情,而不是搞乱你的应用程序在发布模式的内部用户界面。
不熟悉wxPython的,但如果你有pythonw.exe而不是python.exe调用你的脚本,不应该出现在控制台窗口。 我相信,在保存脚本script.pyw也适用。
最简单的方式做到这一点:
if __name__ == "__main__":
app = wx.App(0) #<--- or False
frame = MyFrame('My Frame')
frame.Show(True)
app.MainLoop()
这打印到标准输出,而不是wxPython的窗口。
我不知道的wxPython但解决的办法可能是与使用简单pythonw.exe
运行程序,而不是python.exe
。