void GameMap::keyPressEvent(QKeyEvent* event)
{
  if(event->key() == Qt::Key_W)
     turns=1;
 if(event->key() == Qt::Key_S)
   turns =-1;
  if(event->key() == Qt::Key_A)
   turns = -2;  
  if(event->key() == Qt::Key_D)
   turns = 2;  
  QDialog::keyPressEvent(event);
}
这样可以获取键盘上的W、S、A、D键
//////////////////////////////////////////////////////////////////////////////////////////////////////
但是以下代码不能获取键盘上的Up、Down、Right、Left键  为什么???求大神指教,我是白到不能再白的小白,wuwuwu~~~万分感谢!!!!
void GameMap::keyPressEvent(QKeyEvent* event)
{
  if(event->key() == Qt::Key_Up)
    turns=1;
 if(event->key() == Qt::Key_Down)
   turns =-1;
  if(event->key() == Qt::Key_Left)
   turns = -2;  
  if(event->key() == Qt::Key_Right)
   turns = 2;  
  QDialog::keyPressEvent(event);
}
  
希望能附上修改的代码~~~~我查了资料,用事件过滤器,但是我不知道该怎么用!!!