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

如何设置Python运行弹出的终端输出窗口在显示器上的自定义位置

Python运行时终端窗口位置调整方案

核心问题解答

目前Python没有内置的跨平台函数直接调整终端窗口位置,但可以通过调用系统API或者第三方库实现,相关函数均支持直接传入X、Y坐标参数完成窗口移动设置。

Windows 平台实现方案

推荐使用pywin32调用系统原生API,稳定性更高:

  • 安装依赖:pip install pywin32
  • 实现代码:
import win32gui
import win32con

def move_terminal_to(x: int, y: int, width: int = 800, height: int = 600):
    # 获取当前前台窗口(即刚启动的终端窗口)
    hwnd = win32gui.GetForegroundWindow()
    # 设置窗口位置:左上角坐标为(x,y),自定义宽高,固定层级置顶并显示
    win32gui.SetWindowPos(hwnd, win32con.HWND_TOP, x, y, width, height, win32con.SWP_SHOWWINDOW)

if __name__ == "__main__":
    # 调用示例:将窗口移动到坐标(100, 100)的位置
    move_terminal_to(100, 100)
    # 此处添加你的业务逻辑
    input()

如果担心误操作其他窗口,可以通过窗口标题、进程ID匹配的方式精准定位当前脚本对应的终端窗口。

跨平台实现方案(支持Windows/macOS/Linux)

使用pygetwindow第三方库可以实现跨平台统一调用:

  • 安装依赖:pip install pygetwindow
  • 实现代码:
import pygetwindow as gw

def move_terminal_to(x: int, y: int):
    current_window = gw.getActiveWindow()
    if current_window:
        # 直接移动窗口左上角到指定坐标,保留原有宽高
        current_window.moveTo(x, y)

if __name__ == "__main__":
    move_terminal_to(200, 200)
    # 此处添加你的业务逻辑
    input()

Linux平台如果使用Wayland显示协议,需要先切换到X11协议,或给脚本赋予窗口控制权限后才能正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:15:00