bool FilterDialog::eventFilter ( QObject * o, QEvent * e )
{
if(o==lineedit1||o==lineedit2)
{
if(e->type()==QEvent::KeyPress)
QKeyEvent *keyEvent=static_cast<QKeyEvent *>(e);
if(Qt::Key_Space == keyEvent->key())
{
focusNextChild();
return true;
}
}
return QDialog::eventFilter(o,e);
}
对话框中事件过滤器的实现, 我定义了一个变量QKeyEvent *keyEvent,但是在if语句中使用时
if(Qt::Key_Space == keyEvent->key()) 就提示我未定义,弄的我丈二和尚摸不着后脑袋
但是如果在定义后紧接着使用keyEvent 就能正常调用.
难道我非得定义一个全局变量来存放强制转换过来的e事件么?
难道说我发现了一个bug?