输出键盘/鼠标按?

时间:2014-05-13 07:08:24

标签: c++ qt keyboard mouseevent keyevent

在我的程序中,我想复制用户按键盘上的键并单击鼠标。

将其视为一种自动轮询,其中程序在各种延迟时间内反复输入word文档中的内容。

关于如何做到这一点的任何想法?

感谢您的时间。

3 个答案:

答案 0 :(得分:0)

为了模拟按键,您可以使用描述关键事件的QKeyEvent类,并使用QCoreApplication::postEvent发布。

QKeyEvent *event = new QKeyEvent ( QEvent::KeyPress, Qt::Key_Enter);
qApp->postEvent (receiver, event)

您可以通过

设置鼠标的全局位置
QCursor::setPos(100,100);

模拟鼠标事件如下:

QMouseEvent * event = new QMouseEvent ((QEvent::MouseButtonPress), QPoint(500,500),
    Qt::LeftButton,
    Qt::LeftButton,
    Qt::NoModifier   );

qApp->postEvent((QObject*)this,(QEvent *)event);

答案 1 :(得分:0)

我建议使用QTest命名空间键和鼠标模拟功能,例如:

QTest::keyClick()
QTest::mouseClick()

您会找到文档here

答案 2 :(得分:0)

在下一个主题中查看我的answer。答案有一个指向操作系统依赖的键盘/鼠标事件生成实现的链接。它对你有帮助。