3

重複の可能性:
Windows で実行されている PyQt アプリでコンソール ウィンドウを非表示にするにはどうすればよいですか?

Windows で wxPython プログラムを実行しているときに標準出力として表示されるコンソールを取り除く方法は?

4

4 に答える 4

6

これを行う最も簡単な方法:

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

これは、wxPythonウィンドウではなくstdoutに出力されます。

于 2009-08-21T12:44:58.467 に答える
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異なるファイル名を設定すると、ファイル名にリダイレクトされます。Windows および Mac では、リダイレクトのデフォルト値は True であることに注意してください。の場合、出力は他のフレームとは異なるポップアップ ウィンドウに出力されます。これは非常に便利で、デバッグ中に何が起こっているかを追跡でき、リリース モードのアプリの内部でユーザー インターフェイスが乱雑になることはありません。sys.stdoutsys.stderrredirect==True and filename is None

于 2009-08-21T10:09:35.413 に答える
6

wxPython には詳しくありませんが、スクリプトを python.exe ではなく pythonw.exe で呼び出すと、コンソール ウィンドウは表示されません。スクリプトを script.pyw として保存することもできると思います。

于 2009-08-21T09:39:35.100 に答える
3

私は wxPython を知りませんが、解決策は を使用pythonw.exeしてプログラムを実行する代わりにpython.exe.

于 2009-08-21T09:39:31.917 に答える