隐藏控制台窗口

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 兼容多少个平台? 我将分发应用程序。所以我想要一个跨平台的解决方案。

以上是关于隐藏控制台窗口的主要内容,如果未能解决你的问题,请参考以下文章

如何在python中隐藏控制台窗口?

如何隐藏 C 程序的控制台窗口?

隐藏exe上的控制台窗口[重复]

带有隐藏控制台窗口的 AllocConsole()

GCC/C如何隐藏控制台窗口?

通过 C++ 运行命令时隐藏控制台窗口