我想用Qt模拟鼠标事件。例如,当我按下键盘上的一个键时,程序可以模拟鼠标单击事件。我已经尝试了下面的代码,但是当我按下'K'时,程序停止并给我一个错误:
The program has unexpectedly finished.
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;
答案 0 :(得分:2)
有QtTestLib。它专为编写测试而设计,mouseClick可以满足您的需要。
如果您不想使用此模块,您可以随时查看其源代码,并了解如何正确模拟鼠标事件。
答案 1 :(得分:0)
您必须使用QtestEventList
课程。添加addmouseclick
的事件,然后进行模拟。