0

我见过一些应用程序允许您在需要阅读日志消息时显示/隐藏控制台。例如 Blender3D 允许这样做 (blender.org)。

我想知道这是否可以在 Python 中完成以及如何完成。

我的主窗口是 Panda3D (panda3d.org) 窗口。我在某处读到一个选项是隐藏“真实”控制台(pythonw)并创建另一个控制台,并且每次您想“显示”“真实”控制台时将所有内容从“真实”控制台重定向到它。不知道如何做到这一点。

或者至少是一种通过读取配置文件或其他东西来选择是否使用控制台启动程序的方法。

4

1 回答 1

1

我假设您在谈论 Windows,因为在搅拌机中切换的控制台是 Windows 独有的。我猜 Blender在 Windows 上使用GetConsoleWindow和。ShowWindow

这就是你在 python 中使用pywin32的方法:

import win32gui, win32console, win32api, win32con
import time

console_window = win32console.GetConsoleWindow()
time.sleep(1)
win32gui.ShowWindow(console_window, win32con.SW_HIDE)
time.sleep(1)
win32gui.ShowWindow(console_window, win32con.SW_SHOW)
time.sleep(1)

如果你用 python 而不是 pythonw 运行这个程序,它将显示控制台,休眠一秒钟,隐藏控制台,再休眠一秒钟,然后再次隐藏它。

请注意,此代码仅适用于 Windows。在其他平台上,不需要像这样愚蠢的东西,因为如果您希望程序显示控制台,那么您可以从控制台运行它。

于 2013-01-30T20:18:12.137 回答