我试图通过使用pynput的on_click()函数来全局检测右键单击,并在右键单击上运行一个事件。
下面是我当前的代码:
import pynput
from pynput.mouse import Listener, Button, Controller
mouse = Controller()
def on_click(x, y, button, pressed):
if pressed:
print("Click Detected")
with Listener(on_click=on_click) as listener:
listener.join()此代码在按下任何鼠标按钮(如鼠标中间按钮或侧鼠标按钮)时将“单击检测到”打印到控制台。我试着去做所以它只在我右击的时候打印出来。
我尝试传递mouse.Button.right而不是button,但是它给了我一个语法错误并突出显示了".",我也尝试通过使用button = mouse.Button.right将mouse.Button.right传递给button变量,但是它给了我一个AttributeError: 'Controller' object has no attribute 'Button'错误。
如果有人知道pynput库,或者知道什么对此有用,那就太好了。我对python还不熟悉,所以任何建设性的批评都会很棒。
发布于 2020-08-01 09:29:33
我建议您尝试使用鼠标库,因为它要容易得多。我认为,如果您想安装这个库,只需在cmd中使用pip安装鼠标即可,只需使用一行代码mouse.is_pressed("right")就可以完成同样的任务。
发布于 2021-01-03 12:59:16
还请检查变量“按钮”是否等于“mouse.Button.media”:
from pynput import mouse
def on_click(x, y, button, pressed):
if not pressed and button == mouse.Button.middle:
print("Right Click Detected (released)")
with mouse.Listener(on_click=on_click) as listener:
listener.join()https://stackoverflow.com/questions/63201895
复制相似问题