使用 py2exe 隐藏 Python GUI 应用程序的控制台窗口
我有一个使用 Qt(实际上是 PyQt4)的 Python 程序,当我从 main.py 启动它时,我会得到一个控制台窗口和 GUI 窗口(当然,在 Windows 上)。
然后我用 py2exe 编译我的程序并成功创建 main.exe。但是,如果我运行 main.exe(这是程序用户将执行的操作),Python 控制台窗口仍然会出现,并且我的所有调试文本都会标准输出到该窗口。
我想在应用程序运行时隐藏 cmd 行窗口,并且希望在从 .exe 文件执行时仅用户可以看到我的 GUI。
这可能吗?
I have a Python program uses Qt (PyQt4 in fact) and when I launch it from its main.py, I get a console window and the GUI window (on Windows, of course).
Then I compile my program with py2exe and main.exe is successfully created. However, if I run main.exe (this is what users of program will do) console window of Python still appears and all my debug text is stdout-ed to that window.
I want to hide cmd line window when my application is running and I want just my GUI to be visible to the user when executed from .exe file.
Is that possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
是的,这是可能的。
如果我使用
它会创建一个控制台应用程序,但是如果我使用
它不会在 .exe 文件上显示控制台。但输出会转储到 .exe 文件夹中的 main.exe.log 文件中。当心。
Yep, it is possible.
If I use
It creates a console app, however if I use
it does not show console on .exe file. But output is dumped on main.exe.log file in the .exe folder. Be careful.
我怀疑这对 py2exe 有影响,但这与问题有关。要在没有终端的 Windows 上运行 python GUI,请使用 pythonw.exe 而不是 python.exe。如果文件名以“.pyw”结尾,这应该会自动发生。
I doubt this has an effect on py2exe, but it's related to the question. To run a python GUI on windows without the terminal, use pythonw.exe instead of python.exe. This should happen automatically if you end the filename with ".pyw".
这可能与您的问题没有直接关系,但我认为值得尝试。
您可以使用 PyInstaller 通过以下代码轻松完成此操作。
就这么简单,一切就都解决了!
This might not be directly related to your question but i think it is worth trying.
You easily do so Using PyInstaller by using the following code.
Just as simple as that and every thing is settled!
我发现最简单的方法是在使用控制台创建
.exe
时添加-c
。如果您在文件资源管理器中输入 cmd,则输入以下内容:
python setup.py py2exe -c
我的安装文件设置如下:
The easiest way I found was to add
-c
when using the console to create the.exe
.If you type cmd into the file explorer, then type the following:
python setup.py py2exe -c
My setup file was set up as shown below: