隐藏控制台窗口

时间:2013-04-09 07:39:42

标签: python tkinter cx-freeze

问题

我开始使用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

3 个答案:

答案 0 :(得分:3)

py2exe

时使用creating your setup.py时使用windows=['main.py']代替console=['main.py']

对于cx_Freeze,这个答案可能会对您有所帮助:https://stackoverflow.com/a/11374527/2256700

答案 1 :(得分:2)

我不确定这是否是任何人都在寻找的答案,但在Python 3.4和Win32下将文件扩展名从.py重命名为.pyw将有效地抑制Python shell。你只需要获得你的Tk GUI窗口。

答案 2 :(得分:1)

假设您的python脚本名为“myscript.py”。

创建一个名为runme.vbs的文件,其中包含代码:

Set WshShell = CreateObject("WScript.Shell")
cmds=WshShell.RUN("myscript.py", 0, True)
Set WshShell = Nothing