簡體   English   中英

使用 py2exe 隱藏 Python GUI 應用程序的控制台窗口

[英]Hiding console window of Python GUI app with py2exe

我有一個 Python 程序使用 Qt(實際上是 PyQt4),當我從它的 main.py 啟動它時,我得到一個控制台窗口和 GUI 窗口(當然是在 Windows 上)。

然后我用py2exe編譯我的程序,main.exe就成功創建了。 但是,如果我運行 main.exe(這是程序用戶將執行的操作)仍然會出現 Python 的控制台窗口,並且我的所有調試文本都被標准輸出到該窗口。

我想在我的應用程序運行時隱藏 cmd 行窗口,並且我希望在從 .exe 文件執行時我的 GUI 對用戶可見。

那可能嗎?

是的,這是可能的。

如果我使用

setup(console=['__main__.py'], options={"py2exe":{"includes":["sip"]}})

它創建了一個控制台應用程序,但是如果我使用

setup(windows=['__main__.py'], options={"py2exe":{"includes":["sip"]}})

它不會在 .exe 文件上顯示控制台。 但是輸出轉儲到 .exe 文件夾中的 main.exe.log 文件中。 當心。

我懷疑這對 py2exe 有影響,但這與問題有關。 要在沒有終端的 Windows 上運行 python GUI,請使用 pythonw.exe 而不是 python.exe。 如果文件名以“.pyw”結尾,這應該會自動發生。

這可能與您的問題沒有直接關系,但我認為值得一試。

通過使用以下代碼,您可以使用 PyInstaller 輕松完成此操作。

pyinstaller -w myscript.py

就這么簡單,一切都解決了!

我發現的最簡單的方法是在使用控制台創建.exe時添加-c
如果在文件資源管理器中鍵入 cmd,則鍵入以下內容: python setup.py py2exe -c

我的安裝文件設置如下:

import distutils.core import setup
import py2exe
setup(windows=['myprogram.py'])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM