【问题标题】:PyQt: Simulate real mouse click on "desktop"?PyQt:模拟真正的鼠标点击“桌面”?
【发布时间】:2014-08-20 22:45:28
【问题描述】:

如果没有其他外部库,如PyUserInput,是否有任何方法可以使用 PyQt 在当前桌面的绝对位置模拟真实的鼠标点击(按下 + 释放)?

我四处搜索,发现thisthis。但如果我没有误解,他们似乎将点击事件发送到 Qt 应用程序本身,而不是桌面?

【问题讨论】:

  • 是的,它是在 Qt 中自行生成事件而不是桌面。在 Qt (C++) 中,您可以在“QWidget”参考类中看到所有事件。但是你想创建 UI 单元测试,“虚拟”这个事件就可以了。

标签: pyqt


【解决方案1】:

使用 PyQt 的 QTest,与 unittest 等一起使用。参见例如http://www.voom.net/pyqt-qtest-example

如果这不是用于单元测试,请查看sendEventpostEvent(请参阅http://doc.qt.digia.com/qq/qq11-events.html#syntheticevents)。 Qt 生成“人工”事件的机制存在一些限制,但根据您的描述,它可能会起作用。如果您尝试过这些但它不起作用,请发布您尝试过的代码。

【讨论】:

  • 我没有做单元测试。最重要的是它似乎也点击了 QWidget 而不是桌面。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-11
  • 2022-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多