Windows下在wxPython中摆脱的Python控制台的[复制](Getting rid of

2019-08-02 01:46发布

可能重复:
如何隐藏在Windows上运行的应用程序PyQt的控制台窗口?

如何摆脱在Windows上运行的wxPython程序时为标准输出显示在控制台的?

Answer 1:

其他人已经建议从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.stdoutsys.stderr将被重定向到文件名。 请注意,在Windows和Mac重定向默认值为True。 如果redirect==True and filename is None ,输出将在从您的其他框架不同的弹出窗口打印。 这是非常有用的,这样在调试时就可以按照所发生的事情,而不是搞乱你的应用程序在发布模式的内部用户界面。



Answer 2:

不熟悉wxPython的,但如果你有pythonw.exe而不是python.exe调用你的脚本,不应该出现在控制台窗口。 我相信,在保存脚本script.pyw也适用。



Answer 3:

最简单的方式做到这一点:

if __name__ == "__main__":
    app = wx.App(0) #<--- or False
    frame = MyFrame('My Frame')
    frame.Show(True)
    app.MainLoop()

这打印到标准输出,而不是wxPython的窗口。



Answer 4:

我不知道的wxPython但解决的办法可能是与使用简单pythonw.exe运行程序,而不是python.exe



文章来源: Getting rid of Python console in wxPython under Windows [duplicate]