【发布时间】:2014-08-20 22:45:28
【问题描述】:
如果没有其他外部库,如PyUserInput,是否有任何方法可以使用 PyQt 在当前桌面的绝对位置模拟真实的鼠标点击(按下 + 释放)?
【问题讨论】:
-
是的,它是在 Qt 中自行生成事件而不是桌面。在 Qt (C++) 中,您可以在“QWidget”参考类中看到所有事件。但是你想创建 UI 单元测试,“虚拟”这个事件就可以了。
标签: pyqt
如果没有其他外部库,如PyUserInput,是否有任何方法可以使用 PyQt 在当前桌面的绝对位置模拟真实的鼠标点击(按下 + 释放)?
【问题讨论】:
标签: pyqt
使用 PyQt 的 QTest,与 unittest 等一起使用。参见例如http://www.voom.net/pyqt-qtest-example。
如果这不是用于单元测试,请查看sendEvent 和postEvent(请参阅http://doc.qt.digia.com/qq/qq11-events.html#syntheticevents)。 Qt 生成“人工”事件的机制存在一些限制,但根据您的描述,它可能会起作用。如果您尝试过这些但它不起作用,请发布您尝试过的代码。
【讨论】: