首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

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

2012-03-18 
想用键盘按键替代鼠标按键想用键盘按键替代鼠标按键本人新学qt,谢谢帮助!比如:我想使用“A”键来替代鼠标的L

想用键盘按键替代鼠标按键
想用键盘按键替代鼠标按键

本人新学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);
}

热点排行