2015-04-15 111 views
5

我想将一个python游戏(用pygame制作)转换成windows的exe文件,而且我使用了cx_Freeze。那里没有问题。
事情是,当我启动myGame.exe时,它会打开正常的Pygame窗口和一个控制台窗口(我不想)。cx_Freeze帮助:有没有办法让控制台打开?

有没有办法删除控制台窗口?我阅读了大部分的文档,但是我没有看到任何真实的内容(除了base之外,但我不明白这是什么)。

顺便说一句,这是我的安装文件:

import cx_Freeze 

exe = [cx_Freeze.Executable("myGame.py")] 

cx_Freeze.setup(
    name = "GameName", 
    version = "1.0", 
    options = {"build_exe": {"packages": ["pygame", "random", "ConfigParser", "sys"], "include_files": [ 
    "images", "settings.ini", "arialbd.ttf"]}}, 
    executables = exe 
) 

下面是会发生什么的屏幕截图,当我启动EXE: ScreenShot

+0

更改 “myGame.py” 到 “myGame.pyw” 的名称。有关详细信息,请参阅http://stackoverflow.com/questions/12121033/python-terminal-window-popping-up-at-pygame-app-run。也有兴趣:http://stackoverflow.com/questions/7012444/disable-the-pygame-console-output –

+0

可能重复[如何隐藏在Windows上运行的PyQt应用程序的控制台窗口?](http:///stackoverflow.com/questions/466203/how-can-i-hide-the-console-window-in-a-pyqt-app-running-on-windows) –

+0

我已经尝试将myGame.py的扩展名更改为。 pyw但exe文件的行为没有变化(仍然打开控制台):( – Dalex

回答

6

那么,什么是错的,是该setup.py文件缺少一个参数。
需要添加的内容是base = "Win32GUI"以声明在启动应用程序时不需要控制台窗口。
下面的代码:

import cx_Freeze 

exe = [cx_Freeze.Executable("myGame.py", base = "Win32GUI")] # <-- HERE 

cx_Freeze.setup(
    name = "GameName", 
    version = "1.0", 
    options = {"build_exe": {"packages": ["pygame", "random", "ConfigParser", "sys"], 
     "include_files": ["images", "settings.ini", "arialbd.ttf"]}}, 
    executables = exe 
) 
相关问题