Ale*_*eid 6

不熟悉wxPython,但是如果使用pythonw.exe而不是python.exe调用脚本,则不应出现控制台窗口.我相信将脚本保存为script.pyw也可以.


Fra*_*sco 6

其他人已经建议从py重命名为pyw.如果您在创建wx.App类时引用输出重定向传递redirect = True.

例如,参见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,输出将打印在与其他帧不同的弹出窗口中.这可能非常有用,因此在调试时您可以关注正在发生的事情,同时不会在发布模式下使应用程序内部的用户界面混乱.


DrB*_*ney 6

最简单的方法:

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

这将打印到stdout而不是wxPython窗口.