隐藏控制台窗口
Posted
技术标签:
【中文标题】隐藏控制台窗口【英文标题】:Hiding the console window 【发布时间】:2013-04-09 07:39:42 【问题描述】:问题
我开始使用 Python 和 Tkinter 设计 GUI 应用程序。当我使用 cxFreeze 冻结脚本时,然后当我在机器上运行该 EXE 文件时。然后首先打开控制台窗口(Windows XP 中的黑色 DOS shell),然后初始化主窗口(Tk() 实例)。
目标
不得出现控制台窗口。只有 Tk() 实例应该出现。
代码
root = Tk()
Label(root,text="hey").pack()
root.mainloop()
规格
Windows XP SP 3
Python 2.7
Tkinter 8.5
【问题讨论】:
【参考方案1】:当使用py2exe 时使用windows=['main.py']
而不是console=['main.py']
当creating your setup.py 时
对于 cx_Freeze,这个答案可能会对您有所帮助:https://***.com/a/11374527/2256700
【讨论】:
是的,对于 cx_Freeze,关键位是base = "Win32GUI"
。【参考方案2】:
我不确定这是否是任何人都在寻找的答案,但是在 Python 3.4 和 Win32 下将文件扩展名从 .py 重命名为 .pyw 将有效地抑制 Python shell。您将获得您的 Tk GUI 窗口。
【讨论】:
【参考方案3】:假设你的 python 脚本叫做“myscript.py”。
创建一个名为runme.vbs
的文件,其中包含代码:
Set WshShell = CreateObject("WScript.Shell")
cmds=WshShell.RUN("myscript.py", 0, True)
Set WshShell = Nothing
【讨论】:
我应该把这个文件放在哪里?? 将它放在与你的 python 文件相同的文件夹中。然后您可以像运行 EXE 文件一样运行 vbs 文件。 平台兼容性如何? VBS 兼容多少个平台? 我将分发应用程序。所以我想要一个跨平台的解决方案。以上是关于隐藏控制台窗口的主要内容,如果未能解决你的问题,请参考以下文章