You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在不使用Tkinter的情况下限制Python脚本输出窗口大小?

无需Tkinter固定Python程序终端窗口尺寸的方法

不同操作系统下,无需依赖Tkinter这类GUI库,就能实现终端窗口的尺寸固定与锁定,以下是分平台的具体方案:

Windows平台

方案1:批处理脚本启动

创建一个.bat文件,通过命令行参数和注册表设置直接控制窗口:

@echo off
:: 设置窗口为80列、20行
mode con cols=80 lines=20
:: 锁定窗口大小(禁止拖动调整)
reg add "HKCU\Console\%~n0" /v WindowSize /t REG_DWORD /d 0x00140050 /f >nul 2>&1
reg add "HKCU\Console\%~n0" /v ScreenBufferSize /t REG_DWORD /d 0x00140050 /f >nul 2>&1
:: 运行你的Python脚本
python your_script.py
:: 可选:退出后恢复默认设置
reg delete "HKCU\Console\%~n0" /f >nul 2>&1
  • 说明:mode con命令直接设置窗口行列数;修改注册表项统一窗口与缓冲区尺寸,实现锁定效果。

方案2:Python内调用Windows API

用ctypes调用系统API,无需额外安装库:

import ctypes

# 获取当前控制台窗口句柄
hwnd = ctypes.windll.kernel32.GetConsoleWindow()
if hwnd:
    # 设置窗口位置(100,100)、宽400、高300
    ctypes.windll.user32.SetWindowPos(hwnd, 0, 100, 100, 400, 300, 0x0001)
    # 移除可调整大小和最大化按钮的样式
    style = ctypes.windll.user32.GetWindowLongPtrW(hwnd, -16)
    style &= ~0x00040000  # 移除WS_SIZEBOX(可拖动调整)
    style &= ~0x00010000  # 移除WS_MAXIMIZEBOX(最大化按钮)
    ctypes.windll.user32.SetWindowLongPtrW(hwnd, -16, style)

# 你的原有业务代码
print("固定尺寸的终端窗口")
input("按回车退出...")

Linux平台

方案1:用xterm启动脚本

通过xterm终端模拟器指定参数:

xterm -geometry 80x20 -fixed -e python3 your_script.py
  • 参数说明:
    • -geometry 80x20:设置窗口为80列20行;
    • -fixed:禁止调整窗口大小;
    • -e:指定要执行的Python脚本。

方案2:ANSI控制码(部分终端支持)

通过输出ANSI控制码设置窗口尺寸,部分终端(如gnome-terminal、xterm)支持:

# 设置窗口为80列、20行
print("\033[8;20;80t")
# 禁止调整大小(仅xterm等少数终端支持)
print("\033[?1034h")

# 你的原有业务代码
print("固定尺寸的终端窗口")
input("按回车退出...")

macOS平台

方案1:Terminal.app命令行启动

通过open命令指定Terminal窗口参数:

# 启动指定尺寸的Terminal并运行脚本
echo 'python3 /path/to/your_script.py; read' > temp_run.sh && chmod +x temp_run.sh && open -a Terminal --args -e "./temp_run.sh" -geometry 80x20
  • 说明:macOS Terminal的-geometry参数支持有限,也可提前在Terminal偏好设置中保存固定尺寸的配置文件,启动时指定该配置。

方案2:ANSI控制码(同Linux)

部分终端(如iTerm2)支持ANSI控制码设置窗口:

# 设置窗口为80列、20行
print("\033[8;20;80t")

# 你的原有业务代码
print("固定尺寸的终端窗口")
input("按回车退出...")

内容的提问来源于stack exchange,提问作者Steel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 15:52:37