【发布时间】:2015-06-12 17:05:53
【问题描述】:
我使用 PyQt5 创建了一个 GUI。 GUI 的目的是传递一些输入数据(图像、shapefile 等)并在软件中使用它们(主要是 GIS)。
要启动 GIS,我使用subprocess.Popen 命令行。我已经使用 py2exe 创建了我的应用程序,但我的问题是每次启动操作时都会打开 DOS/cmd。
我的安装文件如下所示:
from distutils.core import setup
import py2exe
setup(
windows=[{'script':'D:\App\projet.pyw',
'options':{'py2exe':{'includes':['sip', 'PyQt5.QtGui', 'PyQt5.QtCore', 'PyQt5.QtWidgets', 'qwindows']}},
'icon_resources':[(1, 'D:\App\images\logo.ico')]
}]
)
一个 cmd 窗口仍然打开,尽管我使用 windows 而不是 console。我尝试了 .py 和 .pyw 。
所以我不确定这是否与 py2exe 相关,或者是因为我通过我的 GUI 启动软件,但我希望不要打开 cmd 窗口,只打开 GUI。
【问题讨论】:
-
直接启动.exe会出现这种情况吗?如果不是,那是您的 GUI 启动时出现问题。
-
@ThiefMaster 是的,它发生在我启动 .exe 时,当我使用 .exe 启动的 GUI 时
-
您能否澄清一下:是
subprocess.Popen导致终端窗口打开还是即使从您的应用程序中删除子进程启动代码也会发生这种情况? -
@three_pineapples 我不知道是否是导致终端窗口打开的子进程,我没有尝试将其删除(因为我需要它)。我读过关于 STARTUPINFO,也许它会解决问题(你怎么看?)
-
我建议您进行一些基本调试,然后找出导致终端窗口出现的原因,然后更新您的问题。猜测是毫无意义的。
标签: python user-interface cmd py2exe pyqt5