可能重複:
How can I hide the console window in a PyQt app running on Windows?入門在wxPython中的Windows
如何擺脫在Windows上運行的wxPython程序時爲標準輸出顯示在控制檯的?
可能重複:
How can I hide the console window in a PyQt app running on Windows?入門在wxPython中的Windows
如何擺脫在Windows上運行的wxPython程序時爲標準輸出顯示在控制檯的?
其他人已經建議從py重命名爲pyw。 如果您在創建wx.App類時改爲參考Output redirection pass 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
和文件名非None,sys.stdout
和sys.stderr
會重定向到文件名。請注意,在Windows和Mac重定向默認值爲True。如果redirect==True and filename is None
,輸出將打印在與其他幀不同的彈出窗口中。 這可能非常有用,因此在調試過程中,您可以關注正在發生的事情,而不會在發佈模式下讓應用程序內部的用戶界面混亂。
我不確定在使用GUI運行Python應用程序時如何輸出重定向與打開控制檯窗口有關。你能解釋一下嗎? – 2012-10-18 19:44:06
我不知道的wxPython但解決的辦法可能是與使用pythonw.exe
運行程序,而不是python.exe
一樣簡單。
和類似的,重命名您的文件爲whatever.pyw(而不是whatever.py),以便當您點擊它時,它將啓動pythonw.exe而不是python.exe – Moe 2009-08-21 12:49:02
不熟悉wxPython的,但如果你有pythonw.exe而不是python.exe調用你的腳本,不應該出現在控制檯窗口。我相信將腳本保存爲script.pyw也可以。
如果它是.pyw文件並且您的python關聯在Windows中,您只需雙擊該文件即可啓動,無需使用控制檯 – 2009-08-21 09:41:41
我在模塊中擁有所有的GUI代碼,並且我有一個擴展名爲PY的主腳本。我必須將所有文件重命名爲PYW嗎?即使是__init__.py文件? – 2010-05-21 14:13:16
不是,只是「主」腳本。 – AlexJReid 2010-05-25 14:00:39
最簡單的方式做到這一點:
if __name__ == "__main__":
app = wx.App(0) #<--- or False
frame = MyFrame('My Frame')
frame.Show(True)
app.MainLoop()
這將打印到標準輸出,而不是wxPython的窗口。
這很好,因爲當應用程序加載wxWindow在屏幕上閃爍時發生錯誤,然後消失,您不會讀取錯誤。當您添加0時,錯誤將打印在控制檯上。 – gath 2012-01-13 12:10:09
嘿亞歷克斯。我遇到了類似的問題,但是我嘗試使用cx_Freeze將其凍結後出現問題。你是如何運行這個文件的?謝謝 – 2010-05-21 14:12:06