是否可以使用 pynput 按住鼠标按钮一段时间?

Posted

技术标签:

【中文标题】是否可以使用 pynput 按住鼠标按钮一段时间?【英文标题】:Is it possible to hold down mouse button for certain time using pynput? 【发布时间】:2021-12-17 04:11:03 【问题描述】:

我知道有类似的问题,但那些是关于键盘控制器的,我需要鼠标控制器。

所以我有一个程序,我需要按住 lmb 一段时间。 我试过这个:

mouse.press(Button.left)
time.sleep(t)
mouse.release(Button.left)

但由于某种原因,它按下鼠标一次而不是按住t 秒。 那么有没有办法做到这一点?如果有,我想看看实现。

【问题讨论】:

据我所知,鼠标没有hold 事件,因此程序使用pressrelease 来检查用户是否按住按钮——这意味着press 只有一次。也许更好地描述需要按住鼠标的程序。 【参考方案1】:

该代码有效。我编写了一个简短的 C# 程序,它在鼠标按下时启动计时器并在鼠标按下时停止计数。它大致计算 Python 休眠的秒数。

这是相关的 C# WinForms 代码。 Form、Timer 和 Label 等所有元素都只有它们的默认名称:

private int x;
private void Form1_MouseDown(object sender, MouseEventArgs e)

    x = 0;
    timer1.Enabled = true;

private void timer1_Tick(object sender, EventArgs e)

    x += 100;
    label1.Text = x.ToString();

private void Form1_MouseUp(object sender, MouseEventArgs e)

    timer1.Enabled = false;

如果它不起作用,那么您正在使用的程序处理输入的方式不同,您需要了解它如何准确地处理鼠标输入。

【讨论】:

你说得对,我的程序只是时间戳不正确(或者我认为是这样)

以上是关于是否可以使用 pynput 按住鼠标按钮一段时间?的主要内容,如果未能解决你的问题,请参考以下文章

使用 pynput 获取鼠标位置

是否可以在不按住按钮的情况下按住鼠标按钮 2、3、4、5?

python使用笔记:pynput库控制键盘鼠标

Unreal UMG按钮的按住,长时间会自动调用Release释放按钮。

Unreal UMG按钮的按住,长时间会自动调用Release释放按钮。

Unreal UMG按钮的按住,长时间会自动调用Release释放按钮。