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

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

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

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

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

【问题讨论】:

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

标签: python mouse pynput


【解决方案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;
}

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

【讨论】:

  • 你说得对,我的程序只是时间戳不正确(或者我认为是这样)
猜你喜欢
  • 1970-01-01
  • 2021-09-03
  • 1970-01-01
  • 1970-01-01
  • 2019-03-05
  • 1970-01-01
  • 2019-09-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多