【问题标题】: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

【问题讨论】:

    标签: python tkinter cx-freeze


    【解决方案1】:

    当使用py2exe 时使用windows=['main.py'] 而不是console=['main.py'] 当creating your setup.py 时

    对于 cx_Freeze,这个答案可能会对您有所帮助:https://stackoverflow.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 兼容多少个平台?
      • 我将分发应用程序。所以我想要一个跨平台的解决方案。
      猜你喜欢
      • 2019-07-22
      • 2012-10-14
      • 2011-04-03
      • 2023-03-28
      • 1970-01-01
      • 2022-10-12
      • 2010-10-11
      • 2011-07-19
      相关资源
      最近更新 更多