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

Python中如何基于固定坐标按百分比移动鼠标光标实现跨分辨率适配

实现方案:PyAutoGUI按百分比控制鼠标移动(适配不同屏幕尺寸)

完全可以实现该需求,核心逻辑是先获取屏幕总分辨率,将百分比换算为实际像素偏移量后,再从指定起始坐标出发移动鼠标,天然适配不同尺寸的显示器。


核心实现步骤

  • 调用pyautogui.size()获取当前屏幕的宽度、高度像素值
  • 按需求的移动百分比换算实际偏移像素:比如横向移动屏幕宽度的20%,偏移量为屏幕宽度 * 0.2
  • 从指定起始坐标(如(1,1))叠加偏移量得到目标坐标,调用移动接口完成操作

可直接运行的代码示例

import pyautogui

# 获取当前屏幕总分辨率
screen_width, screen_height = pyautogui.size()

# 自定义参数:起始坐标、横向/纵向移动百分比
start_x, start_y = 1, 1
move_percent_x = 0.5  # 横向移动屏幕总宽度的50%
move_percent_y = 0.3  # 纵向移动屏幕总高度的30%

# 计算最终目标坐标
target_x = start_x + screen_width * move_percent_x
target_y = start_y + screen_height * move_percent_y

# 移动鼠标,duration为移动耗时(单位:秒,设为0则瞬间移动)
pyautogui.moveTo(target_x, target_y, duration=0.5)

补充场景适配

如果需要从当前鼠标位置直接按百分比移动,不需要跳转到固定起始点,可以用pyautogui.move()方法实现:

# 从当前鼠标位置,横向移动10%屏幕宽度、纵向移动20%屏幕高度
pyautogui.move(screen_width * 0.1, screen_height * 0.2, duration=0.3)

多显示器场景下,pyautogui.size()默认获取主显示器分辨率,最新版PyAutoGUI可通过pyautogui.getAllScreens()获取所有显示器的坐标范围,再按对应屏幕的分辨率换算百分比即可适配副屏。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:06:02