Win32api只接受int但需要float

时间:2018-03-26 06:05:40

标签: python winapi

嗨,我有一个问题。 我有这个我正在制作的代码:

nosum = int(round(startX * 0.9))
nosum2 = int(round(y * 0.5))
win32api.SetCursorPos((nosum,nosum2))

win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,nosum,nosum2,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,nosum,nosum2,0,0)

问题是我必须创建一个int(round(var)),因为win32api期望参数是int,但是对于我的使用,我需要值为float,我该如何实现呢?

1 个答案:

答案 0 :(得分:1)

API函数确定其接口。它接受整数值坐标。这是关于接口的基本原则。实施者决定规则,消费者必须遵守规则。您必须传递整数值。

至于为什么需要整数,SetCursorPosition函数以屏幕像素运行。这些是离散的,不可分割的。系统根本没有提供任何用分数坐标来描述光标位置的方法。