首页| 论坛| 消息
主题:怎么用事件过滤器获取键盘上的Up键、Down键、Right键、Left键
9错过了3发表于 2015-07-10 14:54
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);
}
希望能附上修改的代码~~~~我查了资料,用事件过滤器,但是我不知道该怎么用!!!
回帖(4):
4楼:hpplel:书上说的明白,keyPressEvent有个缺点,需要对不同类型的窗口部件都要一一子类化,才能让 ..
3楼:书上说的明白,keyPressEvent有个缺点,需要对不同类型的窗口部件都要一一子类化,才能让他们实 ..
2楼:加一个函数setFocusPolicy(Qt::WheelFocus);

全部回帖(4)»
最新回帖
收藏本帖
发新帖