会员登录 立即注册

搜索

python禁用控制台

[复制链接]
崎山小鹿 发表于 2025-12-8 14:46:30 | 显示全部楼层 |阅读模式
崎山小鹿
2025-12-8 14:46:30 569 0 看全部
Python 解释器在执行代码时附带的控制台(Console)窗口。对于图形用户界面(GUI)程序来说,隐藏这个窗口是很常见的需求。
禁用控制台
在 PyInstaller 中使用 --noconsole 或 --windowed 参数非常简单。这两个参数作用完全相同,都是告诉 PyInstaller 在创建可执行文件(.exe)时,不要附带那个黑色的控制台窗口。
-w        --noconsole, --windowed        创建无控制台窗口的程序。

pyinstaller --noconsole your_script.py
禁用了控制台后,你的程序如果发生崩溃或有 print 输出,你将看不到任何信息。

新进程的影响
控制台窗口依然会“一闪而过”。

这个现象的根本原因在于:在你的图形界面(GUI)完全加载并显示出来之前,PyInstaller 的引导程序(bootloader)或者你的 Python 脚本中的某些早期代码(比如某个 import 语句)执行了一些会触发控制台的操作。
这个过程非常快,但足以让一个黑框在屏幕上闪现一下

当你使用 subprocess.check_output (或 subprocess.run) 时,Windows 默认会为这个新进程创建一个控制台窗口。虽然 wmic 命令执行得非常快,但这个窗口创建和销毁的过程,就是你看到的那个“一闪而过”的黑框。

即使你使用了 --noconsole 参数打包,这个参数只作用于你的 Python 脚本主进程,它管不了你的脚本后来又创建的其他子进程。
CREATE_NO_WINDOW = 0x08000000
添加参数:creationflags=CREATE_NO_WINDOW
如下:
import subprocess

# Windows specific flag to prevent creating a new console window
# 为 subprocess.run 添加 creationflags 参数
CREATE_NO_WINDOW = 0x08000000

# 这样调用就不会闪现黑框了
subprocess.run(
    ["ping", "localhost"],
    capture_output=True,
    creationflags=CREATE_NO_WINDOW
)



启动画面
使用 PyInstaller 的启动画面(Splash Screen)功能。

这个方法并不能“消除”闪现,而是用一张漂亮的图片来“覆盖”它,极大地提升用户体验。当你的程序在后台解压和初始化时,用户看到的是一个加载图片,而不是一个黑框。

准备一张 .png 格式的图片,比如 splash.png。

在打包时添加 --splash 参数。

在你的代码中,当 GUI 准备好之后,调用特定代码来关闭这个启动画面
pyinstaller --noconsole --onefile --splash "splash.png" your_script.py

try:
    import pyi_splash
    pyi_splash.close()
except ImportError:
    pass # 如果不是在 PyInstaller 环境中运行,则忽略
天不生墨翟,万古如长夜!以墨运商,以商助墨。金双石科技长期招聘科技研发人才!微信:qishanxiaolu   电话:15876572365   公司:深圳市金双石科技有限公司
回复

使用道具 举报

  • 您可能感兴趣
您需要登录后才可以回帖 登录 | 立即注册 |

本版积分规则 返回列表

管理员给TA私信
以墨运商,以商助墨。

查看:569 | 回复:0

  • 高端神经反馈脑波检测系统

    高端神经反馈脑波检测系统分为脑波检测、脑波分析、脑波解码三个部分。 前端主程序

    阅读:11|2026-01-06
  • 国内第三方量化平台有哪些有什么特点

    好的,我们来详细了解一下国内主流的第三方量化平台。这些平台极大地降低了个人投资者

    阅读:716|2025-12-09
  • 为什么脑波要去除伪迹

    1. 伪迹不是大脑信号 EEG设备记录的是头皮上非常微弱的电位变化(微伏级别,μV)。

    阅读:13|2025-12-05
  • 便携可视化语音AI耳机

    项目起源: 初先生的聊天记录: 你那边掌握的技术,有办法做一个有摄像头的,墨者机

    阅读:9|2025-12-01
  • 脑波峰值频率

    看看1-30Hz脑波功率曲线 发现15Hz之后的波动很小。 去掉15Hz之后的曲线 发现4Hz

    阅读:103|2025-11-28
  • 什么是基础节律

    🧠 一、什么是“基础节律”(Basic Rhythm) 基础节律 = 在闭眼静息状态下,大脑自发

    阅读:117|2025-11-27
  • 情绪指数EQ是什么?

    情绪指数 EQ 在脑波科学(特别是情绪解码、神经反馈、BCI 领域)中,通常不是单个固定

    阅读:231|2025-11-22
  • 抗癫痫作用的SMR波

    SMR 波(Sensorimotor Rhythm)是脑电学里一个非常重要、但经常被忽略的节律。它与运

    阅读:226|2025-11-22
  • 为什么科学家认为β波与人的注意、紧张相关

    科学家之所以非常确定 β波(13–30 Hz)与“注意、警觉、紧张、执行任务”相关,不是

    阅读:219|2025-11-22
  • 为什么说θ波与冥想、困倦相关

    科学界之所以认为 θ波(Theta, 4–7 Hz)与“冥想、困倦、催眠状态”有关,并不是玄

    阅读:212|2025-11-22
金双石科技,软件开发20年,技术行业领先,您的满意,就是我们的目标,认真负责,开拓进取,让成品物超所值
关于我们
公司简介
发展历程
联系我们
本站站务
友情链接
新手指南
内容审核
商家合作
广告合作
商家入驻
新闻合作

手机APP

官方微博

官方微信

联系电话:15876572365 地址:深圳市宝安区西乡街道宝民二路宝民花园 ( 粤ICP备2021100124号-1 ) 邮箱:qishanxiaolu@qq.com
QQ|Powered by Discuz! X3.5 © 2001-2026 Discuz! Team.
快速回复 返回顶部 返回列表