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
相关产品推荐
相关产品推荐

