cxfreezeでwxpythonアプリケーションをフリーズするときに、コンソールウィンドウを非表示にするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/2880316

  •  04-10-2019
  •  | 
  •  

質問

WXPythonを使用してPythonアプリケーションを開発し、CXFREEZEを使用して凍結しています。すべてがこの以下のビットとは別に順調に進んでいるようです:

CXFreezeによって作成された実行可能ファイルを実行すると、空白のコンソールウィンドウが表示されます。見せたくない。私がそれを隠す方法はありますか?

CXFREEZEサイトで文書化されていないようであり、グーグルはPY2Exeの同様の問題とは別にあまり存在しませんでした。

ありがとう。

役に立ちましたか?

解決

これはある程度機能しましたが、問題があります。私のプログラムは、コンソールモードとGUIモードの両方で実行されます。コンソールから実行するとき --console 引数コンソールモードで実行されます。以下の手順に従ったとき、これはもう機能せず、私のプログラムはGUIアプリにすぎません。

次のソースコードは、 \Python\Lib\site-packages\cx_Freeze\samples\PyQt4\setup.py. 。その日のレッスン。 readmeを読んでください。

# A simple setup script to create an executable using PyQt4. This also
# demonstrates the method for creating a Windows executable that does not have
# an associated console.
#
# PyQt4app.py is a very simple type of PyQt4 application
#
# Run the build process by running the command 'python setup.py build'
#
# If everything works well you should find a subdirectory in the build
# subdirectory that contains the files needed to run the application

import sys

from cx_Freeze import setup, Executable

base = None
if sys.platform == "win32":
    base = "Win32GUI"

setup(
        name = "simple_PyQt4",
        version = "0.1",
        description = "Sample cx_Freeze PyQt4 script",
        executables = [Executable("PyQt4app.py", base = base)])

他のヒント

Windowsの場合:

このような行を使用する必要があります(必要に応じてファイルフォルダーと名前を使用してください)

C:/Python/Scripts/cxfreeze C:/Python/Code/yourprogram.py --base-name=Win32GUI --target-dir C:/Python/Dist

を追加して --base-name=Win32GUI オプションでは、コンソールウィンドウが表示されません。

Windowsを使用している場合は、「メイン」スクリプトの拡張機能(アプリを起動する)の名前を.pywに変更できます。

オプション1)使用します gui2exe さまざまなオプションを悩ませます。

オプション2)「ベース」パラメーターを使用してセットアップを変更します。

GUI2Exe_Target_1 = Executable(
    # what to build
    script = "rf_spi.py",
    initScript = None,
    base = 'Win32GUI',  # <-- add this
    targetDir = r"dist",
    targetName = "rf_spi.exe",
    compress = True,
    copyDependentFiles = False,
    appendScriptToExe = False,
    appendScriptToLibrary = False,
    icon = r"wireless.ico"
    )
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top