gpt4 book ai didi

c++ - 如何在 Qt 中模拟适用于 Linux 和 Windows 的所有鼠标和键盘事件?

转载 作者:可可西里 更新时间:2023-11-01 11:52:55 28 4
gpt4 key购买 nike

问题:我有一个设备向我发送一些命令(例如:1,2,3,...),我想根据在 Linux 操作系统和 Windows 操作系统中收到的命令模拟鼠标和键盘事件。

我使用了bool QCoreApplication::postEvent(QObject *receiver, QEvent *event, int priority = Qt::NormalEventPriority) 但我不知道接收器传递给它的是什么,我遇到了问题使用 MouseMove 操作。

我找到了这个 help这在 linux 操作系统中运行良好,但我对 Windows 操作系统中的这种帮助方法有疑问。是否有任何方法适用于两种操作系统?

感谢您的关注。

最佳答案

您可以通过以下方式设置鼠标位置:

QCursor::setPos(QPoint(10,10));

也可以通过以下方式完成鼠标点击模拟:

QMouseEvent * event1 = new QMouseEvent ((QEvent::MouseButtonPress), QPoint(10,10),
Qt::LeftButton,
Qt::LeftButton,
Qt::NoModifier );

qApp->postEvent((QObject*)myWidget,(QEvent *)event1);

QMouseEvent * event2 = new QMouseEvent ((QEvent::MouseButtonRelease), QPoint(10,10),
Qt::LeftButton,
Qt::LeftButton,
Qt::NoModifier );

qApp->postEvent((QObject*)myWidget,(QEvent *)event2);

向小部件发送按键事件就像:

QKeyEvent *event = new QKeyEvent ( QEvent::KeyPress, Qt::Key_Enter, Qt::NoModifier);
QCoreApplication::postEvent (myWidget, event);

关于c++ - 如何在 Qt 中模拟适用于 Linux 和 Windows 的所有鼠标和键盘事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25367504/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com