是否可以使用 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
事件,因此程序使用press
和release
来检查用户是否按住按钮——这意味着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 按住鼠标按钮一段时间?的主要内容,如果未能解决你的问题,请参考以下文章
Unreal UMG按钮的按住,长时间会自动调用Release释放按钮。