首先建立了一个事件过滤器,然后获取键盘输入,可当我按上、下键的时候,文本框里面并不会出现qst的内容,请问这是为什么呢?
输入非上、下键的时候,会输出“HOHOHO”,因此我怀疑是case Key_Up和case Key_Down这里出现了问题?
请不吝赐教,谢谢。
代码: 全选
bool shurufa::eventFilter(QObject *obj, QEvent *even)
{
if(even->type()==QEvent::KeyPress)
{
QKeyEvent *event = static_cast<QKeyEvent*>(even);
shurufa::keyPressEvent(event);
return true;
}
else
{
return QObject::eventFilter(obj,even);
}
}
void shurufa::keyPressEvent(QKeyEvent *event)
{
switch(event->key())
{
case Qt::Key_Up:
qst="Up";ui->textEdit->setText(qst);break;
case Qt::Key_Down:
qst="Down";ui->textEdit->setText(qst);break;
default:
qst="HOHOHO";ui->textEdit->setText(qst);break;
}
}