重複の可能性:
Windows で実行されている PyQt アプリでコンソール ウィンドウを非表示にするにはどうすればよいですか?
Windows で wxPython プログラムを実行しているときに標準出力として表示されるコンソールを取り除く方法は?
重複の可能性:
Windows で実行されている PyQt アプリでコンソール ウィンドウを非表示にするにはどうすればよいですか?
Windows で wxPython プログラムを実行しているときに標準出力として表示されるコンソールを取り除く方法は?
これを行う最も簡単な方法:
if __name__ == "__main__":
app = wx.App(0) #<--- or False
frame = MyFrame('My Frame')
frame.Show(True)
app.MainLoop()
これは、wxPythonウィンドウではなくstdoutに出力されます。
他の人は、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
異なるファイル名を設定すると、ファイル名にリダイレクトされます。Windows および Mac では、リダイレクトのデフォルト値は True であることに注意してください。の場合、出力は他のフレームとは異なるポップアップ ウィンドウに出力されます。これは非常に便利で、デバッグ中に何が起こっているかを追跡でき、リリース モードのアプリの内部でユーザー インターフェイスが乱雑になることはありません。sys.stdout
sys.stderr
redirect==True and filename is None
wxPython には詳しくありませんが、スクリプトを python.exe ではなく pythonw.exe で呼び出すと、コンソール ウィンドウは表示されません。スクリプトを script.pyw として保存することもできると思います。
私は wxPython を知りませんが、解決策は を使用pythonw.exe
してプログラムを実行する代わりにpython.exe
.