如何防止关闭 Windows 命令控制台时关闭 tkinter 窗口



我打开我的CMD控制台来运行我的main.exe。我输入:

python main.exe

我的主要.exe是用Tkinter写的小窗口。当我关闭命令控制台时,我的程序结束,窗口关闭。我想在不终止程序的情况下终止控制台。

编辑:

将我的文件另存为 .pyw 不起作用。此外,控制台不仅神奇地出现。我没有在 IDE 中运行脚本。我正在用DOS打开它。当我关闭cmd控制台时,程序就会关闭。

使用 pythonw.exe 运行它。

这样做的原因是,在Windows上,可执行文件有一个标志来告诉操作系统他们是否使用控制台。 python.exe需要一个控制台,如果尚未附加到控制台,它将创建一个控制台。 pythonw.exe与GUI标志链接,并且不创建控制台,如果从控制台窗口运行,则会与该控制台分离。

这就是为什么Tk在Windows上使用wish.exe而不是tclsh.exe"包需要Tk",这在Unix上是可以的,但在Windows上会给出一个不需要的控制台窗口。

如果将扩展名更改为 .pyw 无助于检查与此扩展名关联的程序。例如,在装有Python 3.4的Windows机器上,我有:

C:optPython>assoc .pyw
.pyw=Python.NoConFile
C:optPython>ftype Python.NoConFile
Python.NoConFile="C:Windowspyw.exe" "%1" %*

pyw.exe 在运行时不会附加到我的控制台。

最新更新