【问题标题】:Python tk - hide console windowPython tk - 隐藏控制台窗口
【发布时间】:2022-10-12 23:57:03
【问题描述】:

我准备了一些tk应用程序。它可能非常简单,例如:

from tkinter import *
 
# create root window
root = Tk()
 
# root window title and dimension
root.title("Welcome to GeekForGeeks")
# Set geometry (widthxheight)
root.geometry('350x200')
 
# all widgets will be here
# Execute Tkinter
root.mainloop()

我使用某种方法将应用程序转换为 exe 文件。 重要的是什么, 我没有使用,也无法使用 pyinstaller py2exe 等进行操作。我也无法使用将 app.py 更改为 app.pyw 的方法。 但是我对 .exe 的转换工作正常。

问题 - 是否甚至可以隐藏/禁用/调整我的控制台窗口的大小(减小大小)并使应用程序仍然工作?

我不确定它是如何在 pyinstaller py2exe 等中完成的,所以也许可以在应用程序中完成它?

【问题讨论】:

  • 我没有使用,也无法使用 pyinstaller py2exe 等进行操作。我也无法使用将 app.py 更改为 app.pyw 的方法。但是我对 .exe 的转换工作正常。那么,您如何将项目转换为 exe,文档说明了什么?
  • 你需要解释你的正在创建可执行文件。 Windows 可执行文件被标记为控制台或 Windows 应用程序。如果标记为控制台应用程序,您将获得一个控制台。这就是为什么 python 同时具有 python.exe 和 pythonw.exe 的原因。
  • @Thingamabobs 我正在使用 clicknium (clicknium.com) 创建一个项目,并且有可能创建可执行文件。据我所知,clicknium 不支持 gui 应用程序 - 所以寻找一些不同的方法来删除控制台:)
  • @patthoyts 与上述相同的评论

标签: python tkinter


【解决方案1】:

好的,要解决上述问题安装:

pip install pywin32

并在运行 tk gui 应用程序之前添加代码:

import win32gui
import win32.lib.win32con as win32con65s

the_program_to_hide = win32gui.GetForegroundWindow()
win32gui.ShowWindow(the_program_to_hide , win32con.SW_HIDE)

然后您可以在控制台中运行 main.py,控制台将消失,gui 应用程序仍然可见。

如果您使用 pyinstaller 等 - 您可以在没有“--noconsole”参数的情况下转换应用程序。 当您运行 .exe 文件时,控制台会出现一秒钟,然后消失。但是 gui 应用程序仍然可见且可用。

希望它以某种方式帮助某人:)

【讨论】:

    猜你喜欢
    • 2019-07-22
    • 1970-01-01
    • 2012-10-14
    • 2010-10-20
    • 2011-04-03
    • 2023-03-28
    • 1970-01-01
    • 2015-08-23
    相关资源
    最近更新 更多