如何在Linux和Windows上的Qt中模拟所有鼠标和键盘事件
How can I simulate all mouse and keyboard events in Qt that works on Linux and Windows?
问题:我有一个设备发送给我一些命令(例如:1,2,3,…),我想根据在Linux操作系统和Windows操作系统中收到的命令模拟鼠标和键盘事件。
我与bool QCoreApplication::postEvent(QObject *receiver, QEvent *event, int priority = Qt::NormalEventPriority)
一起工作,但我不知道接收器传递给它什么,并且它与MouseMove
的作用有问题。
我发现这个帮助在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++中模拟鼠标光标的移动
- 如何在后台模拟鼠标单击到 DirectX 应用程序?
- .EXE窗口中的鼠标模拟
- 处理 iOS 触摸以模拟鼠标以C++输入库
- 模拟鼠标按钮按QT 5.3仅第一次工作
- 在使用发送输入 API 模拟鼠标单击时是否需要引入延迟
- C++模拟鼠标左键单击最小化程序
- 如何用Qt模拟鼠标事件
- 有没有一种方法可以模拟从鼠标右键菜单发送到控制台的调用
- 无线键盘/鼠标应用程序:模拟击键
- 如何模拟当前打开窗口的鼠标滚动
- 在Qt中生成(模拟)假鼠标事件
- 以C++模拟鼠标和键盘输入
- 模拟鼠标单击而不移动光标
- 如何将控制器模拟棒映射到鼠标
- c++鼠标点击模拟代码
- 如何在Linux和Windows上的Qt中模拟所有鼠标和键盘事件
- 是否有可能模拟鼠标移动和鼠标点击隐藏窗口
- 如何模拟鼠标移动
- 如何模拟鼠标同时在多个窗口中移动