当前位置: 代码迷 >> QT开发 >> 想用键盘按键替代鼠标按键解决办法
  详细解决方案

想用键盘按键替代鼠标按键解决办法

热度:171   发布时间:2016-04-25 05:03:39.0
想用键盘按键替代鼠标按键
想用键盘按键替代鼠标按键

本人新学qt,谢谢帮助!


比如:
我想使用“A”键来替代鼠标的LeftButton,我该使用什么方法呢?

我曾经尝试在keyPressEvent()里面创建一个QMouseEvent对象,
但是却提示不能跳出这个函数 error: jump to case label,
void test::keyPressEvent ( QKeyEvent * event )
{
  switch (event->key())
  {
....
  case 65:
  QMouseEvent events(QEvent::MouseButtonPress, cursor.pos(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
  QApplication::sendEvent(this, &events);
  break;
....
  default:
  QWidget::keyPressEvent(event);
  break;
  }
}


是哪里出了问题?或者有什么其他好办法吗?

------解决方案--------------------
这段代码我在xp上测试通过,可以实现你要的功能

void QTestKeyMouse::keyPressEvent(QKeyEvent * event)
{
switch (event->key()) {
case Qt::Key_A:
QMouseEvent events(QEvent::MouseButtonPress, cursor().pos(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
QApplication::sendEvent(this, &events); 
return;
}

QWidget::keyPressEvent(event);
}
  相关解决方案