c++ - Qt如何模拟鼠标事件?

标签 c++ qt mouseevent

我想用Qt模拟鼠标事件。例如,当我按下键盘上的一个键时,程序可以模拟鼠标点击事件。我已经尝试了下面的代码,但是当我按“K”时,程序停止并给我一个错误:

程序意外结束。

    case Qt::Key_K:
        QMouseEvent *mEvnPress;
        QMouseEvent *mEvnRelease;
        mEvnPress = new QMouseEvent(QEvent::MouseButtonPress, pos, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
        mEvnRelease = new QMouseEvent(QEvent::MouseButtonRelease, pos, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
        QCoreApplication::sendEvent(QWidget::focusWidget(),mEvnPress);
        QCoreApplication::sendEvent(QWidget::focusWidget(),mEvnRelease);
        break;
    

最佳答案

QtTestLib .它专为编写测试而设计,具有 mouseClick哪个做你想要的。

如果你不想使用这个模块,你可以随时检查它的源代码,看看如何正确地模拟鼠标事件。

关于c++ - Qt如何模拟鼠标事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20592466/

相关文章:

c++ - 不允许创建临时对象

c++ - QLongLong 奇怪比较

c++ - 为什么这个 Qt 信号永远不会发出?

c++ - 损坏的顶点和片段着色器

c# - 在 HTTP 请求中覆盖 IP

c++ - 两个数组的按位与优化

javascript - 伪类 :hover persists when Max-Height changes

qt - QList<int> 的数学联合?

javascript - 用鼠标选择各种输入的文本

javascript - 使用 mousemove 移动背景后的右边距